Hey Leute! Heute tauchen wir ein in die Welt der Datenbanken und ich zeige euch, wie ihr mit PHP und PDO (PHP Data Objects) easy-peasy eine Verbindung zu einer MySQL-Datenbank herstellt und Daten abfragt.
Warum überhaupt PDO?
- Sicherheit: PDO schützt euch schon so von Hause aus grundlegend vor SQL-Injection – immer wichtig, um eure Daten zu sichern!
- Flexibilität: Egal ob MySQL, PostgreSQL oder SQLite – mit PDO läuft’s!
- Objektorientiert: Schön strukturiert und leicht zu verstehen.
Schritt 1: Verbindung zur MySQL-Datenbank herstellen
Zuerst brauchen wir die Datenbank-Details:
- Benutzername: Datenbankbenutzer
- Passwort: das geheime Wort für euren Benutzer
- Datenbankname: der Name der zu verbindenden Datenbank
- Host: normalerweise ist es „localhost“
Jetzt können wir unseren Verbindungs-Code aufstellen:
<?php
$host = 'localhost';
$db = 'deine_datenbank';
$user = 'dein_benutzername';
$pass = 'dein_passwort';
try {
$pdo = new PDO("mysql:host=$host;dbname=$db", $user, $pass);
// Fehlermodus einschalten
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Verbindung erfolgreich!";
} catch (PDOException $e) {
echo "Verbindungsfehler: " . $e->getMessage();
}
?>
Schritt 2: Daten abfragen
Jetzt wird es spannend! Angenommen, wir haben eine Tabelle namens users und wollen alle Nutzer abfragen:
<?php
$sql = "SELECT * FROM users";
$stmt = $pdo->prepare($sql);
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($result as $row) {
echo $row['name'] . '
';
}
?>
Kurze Erklärung:
- prepare(): Bereitet unseren SQL-Befehl vor.
- execute(): Führt den Befehl aus.
- fetchAll(): Holt alle Daten in ein Array.
Die Ausgabe wird für jeden Benutzer den Namen in einer neuen Zeile anzeigen – kinderleicht, oder?
Fehlerbehandlung
Hier noch ein kleiner Hinweis: Wenn was schiefgeht, haltet euren Code mit Fehlerbehandlung im Griff. Mit PDO könnt ihr den Fehlermodus anpassen. Nutzt einfach PDO::ERRMODE_EXCEPTION, um die Fehler im Griff zu haben.
Und das war es schon. Mit diesen einfachen Schritten seid ihr bereit um mit PHP und MySQL erste Abfragen machen zu können.