Programmeren in PHP/MySQL in PHP: verschil tussen versies
Verwijderde inhoud Toegevoegde inhoud
k titel 'Programmeren in PHP/MySql in PHP' gewijzigd in 'Programmeren in PHP/MySQL in PHP': Gebruikelijke spelling |
k MySql => (MySQL, mysql) |
||
Regel 1:
{{PiPHP}}
=
Nu we de basisfuncties kennen, kunnen we al een simpele website opzetten. Een hoop van deze websites zullen een manier nodig hebben om met de gebruiker te communiceren of om de website te personaliseren. Of om bijvoorbeeld een gastenboek te maken, zoals wij aan de hand van deze les, stap voor stap gaan doen.
Regel 16:
De conventie is om deze in een configuratiebestand te zetten. We hebben nog geen verbinding gemaakt, alleen de gegevens in een [[Programmeren_in_PHP/Inleiding#Associatieve_lijsten|associatieve array]] gezet, zodat we ze makkelijk terug kunnen vinden.
Om verbinding te maken met een database heeft PHP voor iedere database een hoop functies aan boord. Wij gaan die voor
Omdat er natuurlijk het een en ander fout kan gaan met het maken van de verbinding moeten we ook zorgen voor een goede foutafhandeling, dat doen we met trigger_error(). Omdat die functie makkelijk aan te passen is en standaard een hoop extra informatie kan leveren over de foutmelding.
Als je klaar bent met het gebruik van de database is het netjes om de verbinding te sluiten, PHP doet dat, als het niet door jou gebeurt, zelf. Toch is het niet netjes hier op te vertrouwen. Een verbinding sluiten doen we met
<source lang=php>
<?php
Regel 25:
$_CONFIG["Host"] = 'localhost';
$Verbinding =
if($Verbinding == false) // Verbinding is mislukt!
Regel 32:
}
?>
</source>
Regel 43:
$_CONFIG["Host"] = 'localhost';
$Verbinding =
?>
</source>
Regel 50:
Als het goed is levert het vorige programma geen tekst op als je het uitvoert, dat betekent dat de verbinding gelukt is. Als het niet lukt kan dit een aantal oorzaken hebben:
* De gegevens in $_CONFIG zijn fout, probeer dat eerst goed te krijgen.
* Je gebruikt een verouderde manier om verbinding met
==Database aanmaken==
Regel 57:
<source lang=mysql>CREATE DATABASE db_name</source>
Waarbij db_name de uiteindelijke naam voor de database is. Ook gaan we daarvoor een regel aan de $_CONFIG array toevoegen met daarin de te gebruiken database. Ook wordt dit onze eerste echte query in
<source lang=php>
Regel 89:
</source>
Als het goed is, komt er nu "De database is succesvol aangemaakt" op je scherm te staan. Om de SQL-query te versturen gebruiken we
Zoals je wellicht gezien hebt, gebruiken we ook een andere functie. Namelijk
==De tabel aanmaken==
Regel 173:
</source>
Een functie is er nog bij gekomen, en dat is mysql_select_db, om aan te geven welke database we willen gebruiken om de tabel in aan te maken.
==De tabel vullen met test data==
Regel 315:
$query = "SELECT * FROM `table` WHERE `x` = " . $waarde
Hier kun je alles in de variabele $waarde zetten, ook bijvoorbeeld de string " 1 OR 1=1" die er voor zorgt dat alle gegevens uit de hele tabel worden opgevraagd en niet alleen de gegevens die voldoen aan de voorwaarde die wij in gedachten hadden. Nou is dat niet zo'n ramp in dit geval, omdat het geen gegevens verwijdert uit onze query. Daar steekt
Om toch een groot deel van de fouten te voorkomen, meest voorkomende is het injecteren van een apostrof (') in de query, om simpelweg te kijken of
De aanroep wordt dan dus:
|