Mit PDO eine Verbindung zu MySQL herstellen
Erstellen Sie eine PDO-Verbindung mit DSN, Benutzername und Passwort.
Mit PDO eine Verbindung zu MySQL herstellen ist eine kostenlose PHP Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des PHP Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der PHP Academy-Kurs umfasst insgesamt 4 Lektionen.
Was ist PDO?
PDO (PHP Data Objects) ist eine Abstraktionsschicht für den Datenbankzugriff. Eine einzige API funktioniert mit MySQL, PostgreSQL, SQLite und weiteren Datenbanken – Sie müssen lediglich die DSN ändern.
Die DSN
Eine DSN (Data Source Name) identifiziert den Treiber, den Host, den Port und den Datenbanknamen.
<?php
$dsn = "mysql:host=127.0.0.1;port=3306;dbname=myapp;charset=utf8mb4";Eine PDO-Instanz erstellen
Übergeben Sie die DSN, den Benutzernamen und das Passwort an den PDO-Konstruktor. Verwenden Sie try/catch, um Verbindungsfehler zu behandeln.
<?php
try {
$pdo = new PDO(
"mysql:host=127.0.0.1;dbname=myapp;charset=utf8mb4",
"db_user",
"db_pass"
);
} catch (PDOException $e) {
die("Connection failed: ".$e->getMessage());
}Fehlermodus
Setzen Sie den Fehlermodus so, dass Ausnahmen ausgelöst werden und Fehler niemals stillschweigend ignoriert werden.
<?php
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);Standard-Fetch-Modus
Konfigurieren Sie den standardmäßigen Abrufmodus – assoziative Arrays sind am praktischsten.
<?php
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);Vollständige Verbindungskonfiguration
Best Practice: Erstellen Sie PDO einmal mit allen Attributen und geben Sie die Instanz anschließend weiter.
<?php
function createPDO(): PDO {
return new PDO(
"mysql:host=127.0.0.1;dbname=myapp;charset=utf8mb4",
"root", "secret",
[
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
]
);
}Emulierte Prepared Statements
Wenn Sie ATTR_EMULATE_PREPARES auf false setzen, werden echte serverseitige Prepared Statements verwendet – das ist sicherer und effizienter.
charset=utf8mb4
Geben Sie in der DSN immer charset=utf8mb4 an. Dadurch wird der vollständige Unicode-Bereich einschließlich Emojis unterstützt. Verwenden Sie niemals den alten Alias utf8.
Eine einfache Abfrage ausführen
Verwenden Sie query() nur für Anweisungen ohne Benutzereingaben.
<?php
$stmt = $pdo->query("SELECT COUNT(*) as total FROM users");
$row = $stmt->fetch();
echo $row["total"];exec() für Nicht-SELECT-Anweisungen
exec() führt eine Anweisung ohne Rückgabewert aus und gibt die Anzahl der betroffenen Zeilen zurück.
<?php
$count = $pdo->exec("DELETE FROM sessions WHERE expires_at < NOW()");
echo "Deleted $count expired sessions";Persistente Verbindungen
PDO unterstützt persistente Verbindungen über PDO::ATTR_PERSISTENT => true. In PHP-FPM-Umgebungen ist ein Verbindungspool in der Regel vorzuziehen.
Zusammenfassung
Erstellen Sie PDO mit einer DSN, setzen Sie ERRMODE_EXCEPTION und FETCH_ASSOC und deaktivieren Sie emulierte Prepared Statements. Rufen Sie query() niemals mit von Benutzern bereitgestellten Daten auf – verwenden Sie Prepared Statements.
Kurze Überprüfung
Welches Attribut bewirkt, dass PDO bei Fehlern Ausnahmen auslöst?
Häufig gestellte Fragen
Ist die Lektion „Mit PDO eine Verbindung zu MySQL herstellen“ kostenlos?
Ja — der vollständige Text von „Mit PDO eine Verbindung zu MySQL herstellen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des PHP Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der PHP Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Mit PDO eine Verbindung zu MySQL herstellen“?
Erstellen Sie eine PDO-Verbindung mit DSN, Benutzername und Passwort. Du übst PHP Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um PHP Academy zu starten?
Keine Vorkenntnisse erforderlich. PHP Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „Mit PDO eine Verbindung zu MySQL herstellen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser PHP Academy-Lektion Code schreiben und ausführen?
Ja. Jede PHP Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Mit PDO eine Verbindung zu MySQL herstellen
- Vorbereitete Anweisungen und Binding
- Ergebnisse mit PDO abrufen
- Transaktionen mit PDO