PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP &...

22
PHP & MYSQL LES 03 PHP & DATABASES

Transcript of PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP &...

Page 1: PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.

PHP & MYSQLLES 03 PHP & DATABASES

Page 2: PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.

PHP & MYSQL

01 PHP BASICS02 PHP & FORMULIEREN03 PHP & DATABASES04 CMS: BEST PRACTICE

Page 3: PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.

VORIGE KEER …

• loops• formulieren in html • HTML data verwerken• arrays• functies

Page 4: PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.

PHP & DATABASES

• wat is (My)SQL• PHPMyAdmin• creëren van een tabel• database verbinden met PHP• SELECT statements• INSERT statements• DELETE statements• UPDATE statements• veilig queries uitvoeren

Page 5: PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.

PHP & Databases wat is (My)SQL

• SQL staat voor Structured Query Language, een taal waarin je makkelijk gegevens kan ophalen

• MySQL is een DBMS en werkt erg goed met PHP

Wat is dan een DBMS?• DBMS staat voor DataBase Management System,

wat dus het beheren van gegevens behelst.

• Denk aan een prullenmand gevuld met papier en een archiefkast waar papier netjes in geordend ligt. Wat zoekt sneller?

Page 6: PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.

PHP & Databases PHPMyAdmin

• MySQL kan worden gebruikt via een commandline

• wij gebruiken een grafisch alternatief

Page 7: PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.

PHP & Databases creëren van een tabel 01

• Het creëren van een tabel in PHPMyAdmin is heel eenvoudig met de knop “nieuwe tabel aanmaken”

Page 8: PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.

PHP & Databases creëren van een tabel 02

• Net zoals bij PHP kent MySQL ook verschillende datatypen om gegevens op te slaan. Hier de meest voorkomende types.

TINYINT / INT veld voor gehele getallenDOUBLE veld voor komma getallenVARCHAR / CHAR veld voor ‘kleine’ stringsTEXT / MEDIUMTEXT veld voor grotere strings

Page 9: PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.

PHP & Databases database verbinden met PHP 01

• een databaseserver verbinding moet geopend en gesloten worden.

• na het openen van de serververbinding moet de juiste database nog geopend worden.

mysql_connect( $host, $gebruiker, $wachtwoord )mysql_connect_db( $databasenaam )

…mysql_close()

Page 10: PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.

PHP & Databases database verbinden met PHP 02

• een voorbeeld

<?php mysql_connect(‘localhost’,’20050037’,’gtpv5RxQ’); mysql_select_db(‘docent_database’); // Voer iets uit met de database // zet misschien ook iets op het beeld mysql_close();?>

Page 11: PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.

PHP & Databases SELECT statements 01

• SELECT wordt gebruikt om gegevens uit de database te halen

SELECT * FROM docent WHERE naam = “Willem”;

Gewoon nederlands:Geef mij alle gegevens van alle docenten waar de naam gelijk is met Willem.

Page 12: PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.

PHP & Databases SELECT statements 02

• Nog een voorbeeld

SELECT naam, telefoonnummer FROM docent ORDER BY naam;

Gewoon nederlands:Geef mij de naam en het telefoonnummer van alle docenten en sorteer de resultaten op naam.

Page 13: PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.

PHP & Databases SELECT statements 03

• hoe werkt dat in PHP

$query = “ SELECT * FROM docent WHERE naam = ‘Willem’; ”;

$result = mysql_query( $query );

while( $regel = mysql_fetch_array( $result )) {echo $regel[‘naam’] . “<br>”;

}

Page 14: PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.

PHP & Databases SELECT statements 04

• En nu met een opmaak in tabellen (extra)

echo “<table>”;echo “<tr>\n<th>naam:</th>\n

<th>telefoonnummer:</th>\n</tr> “;

while( $regel = mysql_fetch_array( $result )) {echo “<tr>\n<td>”.$regel[‘naam’].“</td>\n”;echo “<td>”.$regel[‘telefoon’].“</td></tr>\

n”;}echo “</table>”;

Page 15: PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.

PHP & Databases INSERT statements 01

• INSERT wordt gebruikt om nieuwe gegevens in de database te zetten

INSERT INTO docent VALUES

(‘JB’,’Jaap’,’SL7.37’,’0704457643’,’36’);

Gewoon nederlands:Voeg een docent toe aan de database met de volgende gegevens …

Page 16: PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.

PHP & Databases INSERT statements 02

• hoe werkt dat in PHP

$query = “INSERT INTO docent VALUES (‘JB’,

’Jaap’,’SL7.37’,’0704457643’,’36’) “;

mysql_query( $query );

Page 17: PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.

PHP & Databases DELETE statements 01

• DELETE wordt gebruikt om een regel (of meerdere regels) uit de database te halen

DELETE FROM docent WHERE docentcode = ‘vli’;

Gewoon nederlands:Verwijder alle docenten uit de database waarvan de docentcode ‘vli’ is.

Page 18: PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.

PHP & Databases DELETE statements 02

• hoe werkt dat in PHP

$query = “ DELETE FROM docent WHERE docentcode = ‘vli’; “;

mysql_query( $query );

Page 19: PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.

PHP & Databases UPDATE statements 01

• UPDATE wordt gebruikt bestaande gegevens in de database te wijzigen

UPDATE docent SET telefoonnummer = ‘8513’ WHERE docentcode = ‘vlie’;

Gewoon nederlands:Verander het telefoonnummer van de docent vli naar 8513.

Page 20: PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.

PHP & Databases UPDATE statements 02

• UPDATE werkt ook om meerdere regels tegelijk aan te passen

UPDATE docent SET uren_per_week = ‘36’ WHERE uren_per_week > ‘32’;

Gewoon nederlands:Verander van alle docenten het aantal uur dat ze werken naar 36 uur, als ze meer dan 32 uur werken op dit moment.

Page 21: PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.

PHP & Databases UPDATE statements 03

• Hoe werkt dat in PHP

$query = “ UPDATE docent SET uren_per_week = ‘36’ WHERE uren_per_week > ‘32’;

“;

mysql_query( $query );

$aantalVeranderdeRijen = mysql_affected_rows();

Page 22: PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.

PHP & Databases veilig queries uitvoeren

• gebruik niet direct variabelen in een query

$motto = “It’s the way I like to slam’n’dunk”;$query = “INSERT INTO verhaal VALUES(‘$motto’);”;

• gebruik addslashes() om speciale tekens veilig te maken voor queries

echo addslashes($motto);// geeft nu: It\’s the way I like to slam\’n\’dunk