Heim > Artikel > Backend-Entwicklung > Detaillierte Erläuterung der Schritte zur Verwendung von PDO-Transaktionen in PHP
Dieses Mal erkläre ich Ihnen ausführlich die Schritte zur Verwendung von PDO-Transaktionen in PHP. Was sind die Vorsichtsmaßnahmen für die Verwendung von PDO-Transaktionen in PHP?
Zusammenfassung:
Behandeln Sie mehrere SQL-Vorgänge (Hinzufügen, Löschen, Ändern) als eine Operationseinheit, entweder alle erfolgreich oder alle fehlschlagen.
Ein einzelnes Datenelement erfordert keine Transaktionsverarbeitung
Die zu bedienende Tabelle muss eine Tabelle vom Typ innoDB sein (unterstützende Transaktionen)
In MySQL häufig verwendete Tabellentypen: MyISAM ( nicht-transaktional) Hinzufügen, Löschen und Ändern Schnelle Geschwindigkeit, hohe InnodB-Sicherheit (Transaktion)
Ändern Sie den Tabellentyp in den Typ innoDB
mysql> alter table stu engine=innodb;
Verwenden Sie:
Auf Basis der PDO-Vorverarbeitung das folgende Format hinzugefügt:
try{ $m->beginTransaction();//开启事务处理 //PDO预处理以及执行语句... $m->commit();//提交事务 }catch(PDOException $e){ $m->rollBack();//事务回滚 //相关错误处理 }
Beispiel:
$m = new PDO($dsn,$user,$pwd); $m->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); try{ $m->beginTransaction();//开启事务处理 $stmt=$m->prepare("insert into stu(name,sex,age,classid)values(?,?,?,?)"); $data=array( array("user1",1,22,"lamp76"), array("user2",1,20,"lamp76"), array("user3",0,22,"lamp76") ); foreach($data as $v){ $stmt->execute($v); echo $m->lastInsertId(); } $m->commit(); echo "提交成功!"; }catch(PDOException $e){ $m->rollBack();//回滚 die("提交失败!"); }
Ergänzung: Kommen Sie noch einmal. Analyse eines Beispiels für die MySQL-Transaktionsverarbeitung und den Rollback-Vorgang in PDO unter Verwendung von PDO
Übersicht:
Eine Transaktion besteht aus einer Abfrage und/oder einer Folge von Aktualisierungsanweisungen. Verwenden Sie „Begin“, „Start Transaction“
, um eine Transaktion zu starten, „Rollback“, um die Transaktion zurückzusetzen, und „Commit“, um die Transaktion festzuschreiben. Nach dem Starten einer Transaktion können mehrere SQL-Abfragen oder Aktualisierungsanweisungen vorhanden sein. Nach der Übermittlung jeder SQL
sollten auch Anweisungen vorhanden sein, um festzustellen, ob sie korrekt ausgeführt werden, um zu bestimmen, ob im nächsten Schritt ein Rollback durchgeführt werden soll Alle werden korrekt ausgeführt. Anschließend wird die Transaktion festgeschrieben.
Sobald die Transaktion zurückgesetzt wurde, verbleibt die Datenbank im Zustand vor dem Start der Transaktion. Ebenso wie wenn eine bearbeitete Datei ohne Speichern beendet wird, bleibt das ursprüngliche Erscheinungsbild der Datei selbstverständlich erhalten.
Eine Transaktion kann also als atomare Operation betrachtet werden und die SQL in der Transaktion wird entweder vollständig oder überhaupt nicht ausgeführt.
MYSQL-Transaktionsverarbeitungsschritte für PDO in PHP:
① Deaktivieren Sie die automatische Übermittlung
②. Aktivieren Sie die Transaktionsverarbeitung
③ . Wenn es eine Ausnahme gibt, die Ausnahme auslösen Prompt und dann zurücksetzen
④ Automatische Übermittlung aktivieren
Hinweis:
Nur der InnoDB-Treiber von MySQL unterstützt die Transaktionsverarbeitung
Beispiel:
rrreeIch glaube, Sie haben den Fall in diesem Artikel gelesen. Nachdem Sie die Methode gemeistert haben, achten Sie bitte auf andere verwandte Artikel auf der chinesischen PHP-Website, um weitere spannende Inhalte zu erhalten!
Empfohlene Lektüre:
Detaillierte Erklärung der Schritte zur Verwendung von Curl zum Kopieren von IP und Verweisen in PHP
Detaillierte Erklärung der Schritte zur Implementierung einer Nachrichtenwarteschlange mit PHP+MySQL
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Schritte zur Verwendung von PDO-Transaktionen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!