Beispiele für PHP-MySQL-Transaktionen
Transaktionen in PHP und MySQL ermöglichen es Ihnen, eine Reihe von Abfragen als eine einzige atomare Arbeitseinheit zu gruppieren. Das bedeutet, dass alle durch die Transaktion vorgenommenen Änderungen rückgängig gemacht werden, wenn eine der Abfragen fehlschlägt.
So verwenden Sie Transaktionen
So verwenden Sie Transaktionen in PHP und MySQL, Sie müssen:
Beispiel
Hier ist ein einfaches Beispiel für die Verwendung von Transaktionen in PHP und MySQL:
mysql_query("SET AUTOCOMMIT=0"); mysql_query("START TRANSACTION"); $a1 = mysql_query("INSERT INTO rarara (l_id) VALUES('1')"); $a2 = mysql_query("INSERT INTO rarara (l_id) VALUES('2')"); if ($a1 and $a2) { mysql_query("COMMIT"); } else { mysql_query("ROLLBACK"); }
In diesem Beispiel wird die COMMIT-Anweisung nur ausgeführt, wenn sowohl $a1 als auch $a2 erfolgreich sind. Wenn eine der Abfragen fehlschlägt, wird die ROLLBACK-Anweisung ausgeführt.
Transaktionen mit PDO verwenden
Die PDO-Klasse bietet eine modernere und objektorientiertere Arbeitsweise MySQL-Transaktionen. Um Transaktionen mit PDO zu verwenden, müssen Sie:
Beispiel
Hier ist ein Beispiel dafür So verwenden Sie Transaktionen mit PDO:
try { $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->beginTransaction(); $pdo->exec("INSERT INTO rarara (l_id) VALUES('1')"); $pdo->exec("INSERT INTO rarara (l_id) VALUES('2')"); $pdo->commit(); } catch (\PDOException $e) { $pdo->rollback(); throw $e; }
In diesem Beispiel wird die Methode commit() nur aufgerufen, wenn beide Abfragen erfolgreich sind. Wenn eine der Abfragen fehlschlägt, wird die rollback()-Methode aufgerufen und eine Ausnahme ausgelöst.
Das obige ist der detaillierte Inhalt vonWie verwaltet man MySQL-Transaktionen effektiv in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!