PDO::commit schreibt eine Transaktion fest (PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
bool PDO::commit (void)
Wenn Sie eine Transaktion festschreiben, kehrt die Datenbankverbindung bis zum nächsten Aufruf von PDO::beginTransaction() zum Starten einer neuen Transaktion in den automatischen Festschreibungsmodus zurück.
<?php/* Starten Sie eine Transaktion und deaktivieren Sie die automatische Festschreibung. */$dbh->beginTransaction();/* Fügen Sie mehrere Datensatzzeilen nach dem Prinzip „Alles oder nichts“ ein (entweder alles oder nichts) */$ sql = 'INSERT INTO Fruit (Name, Farbe, Kalorien) VALUES (?, ?, ?)';$sth = $dbh->prepare($sql);foreach ($fruits as $fruit) { $sth->execute(array( $fruit->name, $fruit->colour, $fruit->calories, ));}/* Änderungen übernehmen*/$dbh->commit();/* Jetzt verbinden mit Datenbank Rückkehr zum Auto-Commit-Modus*/?>
<?php/* Starten Sie eine Transaktion und deaktivieren Sie die automatische Übermittlung */$dbh->beginTransaction();/* Ändern Sie das Datenbankschema */$sth = $dbh->exec("DROP TABLE Fruit");/* Ändern das Datenbankschema*/$dbh->commit();/* Jetzt kehrt die Datenbankverbindung in den Auto-Commit-Modus zurück*/?>
Hinweis: Nicht alle Datenbanken erlauben Transaktionsvorgänge mithilfe von DDL-Anweisungen: Einige generieren Fehler, während andere (einschließlich MySQL) Transaktionen automatisch festschreiben, nachdem sie auf die erste DDL-Anweisung gestoßen sind.