Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie kann ich Commit/Rollback für MySQL in PHP implementieren?

Sehen Sie sich dieses Tutorial an auf Transaktionen mit PDO.

Wickeln Sie den langlaufenden Code im Grunde ein in:

$dbh->beginTransaction();
...
$dbh->commit();

Und gemäß dieser PDO-Dokumentseite :

"Wenn das Skript endet oder wenn eine Verbindung geschlossen werden soll und Sie eine ausstehende Transaktion haben, wird PDO sie automatisch zurücksetzen. "

Sie verlieren also die ausstehende Transaktion, als das Skript abgelaufen ist.

Aber wirklich, Sie sollten dies so umgestalten, dass es nicht davon abhängt, dass das Skript am Leben bleibt.