0Pricing
PHP Academy · Lektion

Arbeiten mit PDO

Verwenden Sie PHP Data Objects (PDO), um mit Datenbanken zu interagieren

Arbeiten mit PDO ist eine kostenlose PHP Academy-Lektion auf CoddyKit. Dies ist Lektion 6 von 6. 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 6 Lektionen.

PDO-Übersicht

Arbeiten mit PDO

Willkommen zur nächsten Lektion! In dieser Lektion lernen Sie, wie Sie PDO (PHP Data Objects) für die Interaktion mit Datenbanken verwenden. PDO bietet eine flexible und sichere Möglichkeit, Verbindungen zu Datenbanken herzustellen und mit ihnen zu arbeiten. Tauchen wir ein!

Arbeiten mit PDO — Illustration 1

Was ist PDO?

Was ist PDO?

PDO (PHP Data Objects) ist eine Datenzugriffsschicht, die eine einheitliche Schnittstelle für die Arbeit mit verschiedenen Datenbanksystemen bereitstellt. Sie unterstützt verschiedene Datenbanken wie MySQL, PostgreSQL, SQLite und weitere.

Wichtige Funktionen:

  • Unabhängigkeit von der Datenbank (funktioniert mit mehreren Datenbanktypen).
  • Integrierte Unterstützung für Prepared Statements.
  • Erweiterte Optionen zur Fehlerbehandlung.

Tipp: PDO eignet sich hervorragend für die Entwicklung sicherer und skalierbarer Webanwendungen.

Mit PDO eine Verbindung zu einer Datenbank herstellen

Mit PDO eine Verbindung zu einer Datenbank herstellen

Um mit PDO eine Verbindung zu einer Datenbank herzustellen, benötigen Sie:

  • Den Data Source Name (DSN) einschließlich Datenbanktyp, Host und Namen.
  • Einen gültigen Benutzernamen und ein gültiges Passwort.

Beispiel:

Tipp: Verwenden Sie Umgebungsvariablen oder Konfigurationsdateien für vertrauliche Zugangsdaten.

<?php
  $dsn = "mysql:host=localhost;dbname=testdb";
  $username = "root";
  $password = "";

  try {
    $pdo = new PDO($dsn, $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Connected successfully!";
  } catch (PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
  }
?>

Abfragen ausführen

Abfragen ausführen

PDO stellt zwei Hauptmethoden zum Ausführen von Abfragen bereit:

  • exec(): Für Anweisungen, die keine Ergebnisse zurückgeben (z. B. INSERT, UPDATE).
  • query(): Für Anweisungen, die Ergebnisse zurückgeben (z. B. SELECT).

Beispiel:

<?php
  // Insert a record
  $pdo->exec("INSERT INTO users (name, email) VALUES ('Alice', 'alice@mail.com')");

  // Retrieve records
  $stmt = $pdo->query("SELECT * FROM users");
  while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    echo "Name: " . $row["name"] . ", Email: " . $row["email"] . "<br>";
  }
?>

Prepared Statements verwenden

Prepared Statements verwenden

Prepared Statements sind für eine sichere und effiziente Interaktion mit der Datenbank unverzichtbar. Beispiel:

Tipp: Verwenden Sie Platzhalter (:email), um SQL-Injection zu verhindern.

<?php
  $sql = "SELECT * FROM users WHERE email = :email";
  $stmt = $pdo->prepare($sql);
  $stmt->execute(["email" => "alice@mail.com"]);
  $user = $stmt->fetch(PDO::FETCH_ASSOC);

  echo "Name: " . $user["name"];
?>

Fehlerbehandlung in PDO

Fehlerbehandlung in PDO

PDO unterstützt drei Modi für die Fehlerbehandlung:

  • ERRMODE_SILENT: Fehler müssen manuell überprüft werden.
  • ERRMODE_WARNING: Fehler lösen PHP-Warnungen aus.
  • ERRMODE_EXCEPTION: Fehler lösen Exceptions aus (empfohlen).

Beispiel:

<?php
  $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  try {
    $pdo->exec("INVALID SQL STATEMENT");
  } catch (PDOException $e) {
    echo "Error: " . $e->getMessage();
  }
?>

Daten abrufen

Daten abrufen

PDO stellt mehrere Methoden zum Abrufen von Daten bereit:

  • fetch(): Ruft eine einzelne Zeile ab.
  • fetchAll(): Ruft alle Zeilen ab.
  • fetchColumn(): Ruft den Wert einer einzelnen Spalte ab.

Beispiel:

<?php
  $stmt = $pdo->query("SELECT name FROM users");
  while ($name = $stmt->fetchColumn()) {
    echo "User: " . $name . "<br>";
  }
?>

Transaktionsverwaltung

Transaktionsverwaltung

Verwenden Sie Transaktionen, um mehrere Abfragen als eine Einheit auszuführen. Beispiel:

Tipp: Verwenden Sie Transaktionen, um die Datenintegrität sicherzustellen.

<?php
  try {
    $pdo->beginTransaction();

    $pdo->exec("INSERT INTO users (name, email) VALUES ('Bob', 'bob@mail.com')");
    $pdo->exec("INSERT INTO users (name, email) VALUES ('Charlie', 'charlie@mail.com')");

    $pdo->commit();
    echo "Transaction successful!";
  } catch (PDOException $e) {
    $pdo->rollBack();
    echo "Transaction failed: " . $e->getMessage();
  }
?>

Sehr gut!

Sehr gut!

Herzlichen Glückwunsch! Sie haben gelernt, wie Sie PDO für eine sichere und effiziente Interaktion mit Datenbanken verwenden, einschließlich des Herstellens von Verbindungen, Ausführens von Abfragen und Verwaltens von Transaktionen. In der nächsten Lektion beschäftigen wir uns mit fortgeschrittenen SQL-Abfragetechniken mit PDO. Programmieren wir weiter!

Arbeiten mit PDO — Illustration 10

Häufig gestellte Fragen

Ist die Lektion „Arbeiten mit PDO“ kostenlos?

Ja — der vollständige Text von „Arbeiten mit PDO“ 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 6 Lektionen.

Was lerne ich in „Arbeiten mit PDO“?

Verwenden Sie PHP Data Objects (PDO), um mit Datenbanken zu interagieren 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 6 von 6.

Wie lange dauert die Lektion „Arbeiten mit PDO“?

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

  1. Einführung in Datenbanken
  2. Verbindung zu einer MySQL-Datenbank herstellen
  3. Tabellen verwalten
  4. CRUD-Operationen ausführen
  5. Vorbereitete Anweisungen
  6. Arbeiten mit PDO
← Zurück zu PHP Academy