PDO
1 Verbinden met een database
🎯 Leerdoelen
- Je weet wat PDO is en waarom het gebruikt wordt.
- Je kunt verbinding maken met een database via PDO.
- Je begrijpt waarom het handig is om een apart bestand voor de connectie te maken.
💡 Uitleg
PDO (PHP Data Objects) is een moderne manier om met databases te werken in PHP. Het ondersteunt meerdere soorten databases zoals MySQL, SQLite en PostgreSQL, maar in deze lessen gebruiken we alleen MySQL.
Je maakt verbinding met een database via een zogeheten DSN (Data Source Name) en slaat de connectie op in een variabele. Om herhaling te voorkomen, zet je dit in een apart bestand zoals connection.php
. Dit maakt het ook makkelijk om de instellingen aan te passen wanneer je de website van je localhost naar een liveserver verplaatst.
connection.php
Het bestand connection.php
bevat de code om verbinding te maken met de database. In plaats van in elk PHP-bestand opnieuw een connectie te moeten schrijven, zet je die één keer netjes in dit aparte bestand. Zo houd je je code overzichtelijk en voorkom je fouten.
Door connection.php
te gebruiken, hoef je later bij het online zetten van je site alleen in dat ene bestand de instellingen aan te passen (zoals wachtwoord of host), in plaats van in alle bestanden waar je met de database werkt.
<?php
$dsn = 'mysql:host=localhost;dbname=database_name;charset=utf8mb4';
$user = 'root';
$pass = '';
try {
$pdo = new PDO($dsn, $user, $pass);
} catch (PDOException $e) {
echo "Verbinding mislukt: " . $e->getMessage();
}
In het connection.php bestand wordt de database naam, en het user id en password ingesteld. Op een XAMPP ontwikkel server is standaard de user root
en heeft geen password. Op een productieserver is dat natuurlijk ander!
🚰 Opdracht
- Maak een database
voorbeeld
aan met één tabeldieren
met de kolommenid
(INT, AUTO_INCREMENT, PRIMARY KEY),naam
(VARCHAR), ensoort
(VARCHAR). - Maak een bestand
connection.php
dat de connectie maakt zoals hierboven. - Maak een tweede bestand
testverbinding.php
waarin jerequire 'connection.php';
gebruikt om verbinding te maken. - Laat met
echo
zien of de verbinding is gelukt (bijv. "Verbinding gelukt!").
🧠Reflectie
- Welke manieren zijn er in PHP om met een database te werken, en waarom gebruiken wij PDO?
- Wat zijn voordelen van een apart
connection.php
bestand? - connection.php heeft op een development omgeving een andere inhoud dan op een productieserver. Wat is het verschil en waarom?
📄 Inleveren
- Beantwoord in eigen woorden de reflectievragen (txt of pdf).