0Pricing
PHP Academy · Lektion

Transaktionen mit PDO

Fassen Sie mehrere Abfragen mit beginTransaction und commit zu atomaren Transaktionen zusammen.

Transaktionen mit PDO ist eine kostenlose PHP Academy-Lektion auf CoddyKit. Dies ist Lektion 4 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 eine Transaktion?

Eine Transaktion fasst mehrere SQL-Anweisungen zu einer einzigen atomaren Einheit zusammen: Entweder sind alle erfolgreich (commit) oder alle werden zurückgerollt.

ACID-Eigenschaften

Transaktionen garantieren ACID: Atomarität, Konsistenz, Isolation und Dauerhaftigkeit.

beginTransaction()

Starten Sie eine Transaktion mit $pdo->beginTransaction(). Der Auto-Commit bleibt deaktiviert, bis Sie commit() oder rollBack() aufrufen.

commit()

Speichert alle seit beginTransaction() vorgenommenen Änderungen dauerhaft.

rollBack()

Verwirft alle seit beginTransaction() vorgenommenen Änderungen und versetzt die Datenbank in ihren Zustand vor der Transaktion zurück.

Transaktionsmuster

Schließen Sie Transaktionen immer in try/catch ein:

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

    $pdo->prepare("UPDATE accounts SET balance = balance - ? WHERE id = ?")
        ->execute([100, $senderId]);

    $pdo->prepare("UPDATE accounts SET balance = balance + ? WHERE id = ?")
        ->execute([100, $receiverId]);

    $pdo->commit();
} catch (PDOException $e) {
    $pdo->rollBack();
    throw $e;
}

Savepoints

PDO unterstützt verschachtelte Transaktionen nicht nativ. Verwenden Sie SQL-Befehle mit SAVEPOINT, um innerhalb einer Transaktion teilweise Rollbacks durchzuführen.

inTransaction()

Prüfen Sie mit $pdo->inTransaction(), ob eine Transaktion aktiv ist. Die Methode gibt true oder false zurück.

Auto-Commit-Modus

Standardmäßig befindet sich PDO im Auto-Commit-Modus: Jede Anweisung wird sofort festgeschrieben. beginTransaction() deaktiviert den Auto-Commit.

Isolationsstufen

MySQL unterstützt: READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ (Standard), SERIALIZABLE. Setzen Sie die Stufe mit $pdo->exec("SET TRANSACTION ISOLATION LEVEL READ COMMITTED").

Wann Sie Transaktionen verwenden sollten

Verwenden Sie sie für Banküberweisungen, das Aufgeben von Bestellungen mit Bestandsabbuchung und jeden Schreibvorgang über mehrere Tabellen, bei dem ein teilweiser Abschluss nicht akzeptabel ist.

DDL und Transaktionen

In MySQL lösen DDL-Anweisungen (CREATE TABLE, ALTER TABLE) einen impliziten Commit aus. DDL kann innerhalb einer Transaktion nicht zurückgerollt werden.

Kurze Überprüfung

Was macht rollBack()?

Häufig gestellte Fragen

Ist die Lektion „Transaktionen mit PDO“ kostenlos?

Ja — der vollständige Text von „Transaktionen 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 4 Lektionen.

Was lerne ich in „Transaktionen mit PDO“?

Fassen Sie mehrere Abfragen mit beginTransaction und commit zu atomaren Transaktionen zusammen. 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 4 von 4.

Wie lange dauert die Lektion „Transaktionen 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. Mit PDO eine Verbindung zu MySQL herstellen
  2. Vorbereitete Anweisungen und Binding
  3. Ergebnisse mit PDO abrufen
  4. Transaktionen mit PDO
← Zurück zu PHP Academy