Transaktionen und PHP
als Präsentation ▻Die Datenbankschnittstelle PDO
bietet für den Umgang mit Transaktionen die
Methoden beginTransaction
, commit
und rollback
an. Wenn die
Datenbank-Verbindung unerwartet geschlossen wird obwohl noch eine Transaktion
offen ist, dann löst PDO selbst das Rollback aus.
Php Code Beispiel für Transaktion mit Fehlerbehandlung
try { $dbh->beginTransaction(); $dbh->exec("INSERT INTO staff (id, first, last) VALUES (42, 'Alyssa', 'Hacker')"); $dbh->exec("INSERT INTO salarychange (id, amount, changedate) VALUES (42, 50000, NOW())"); $dbh->commit(); } catch (Exception $e) { $dbh->rollBack(); echo "Error: " . $e->getMessage(); }
Bei einem realen Beispiel würde man nicht die exec
Methode verwenden,
sondern wahrscheinlich prepared Statements. Aber die generelle Vorgehensweise
bleibt gleich.