Dieser Artikel stellt Ihnen hauptsächlich die detaillierte Verwendung von PDO::beginTransaction vor. Ich hoffe, dass er Freunden in Not hilfreich sein wird!
PDO::beginTransaction (PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)
PDO::beginTransaction startet eine Transaktion.
Syntaxbeschreibung:
PDO::beginTransaction ( void ) : bool
Auto-Commit-Modus deaktivieren. Wenn der Autocommit-Modus deaktiviert ist, werden Änderungen, die über PDO-Objektinstanzen an der Datenbank vorgenommen werden, erst festgeschrieben, wenn PDO::commit() aufgerufen wird, um die Transaktion zu beenden. Durch den Aufruf von PDO::rollBack() werden an der Datenbank vorgenommene Änderungen rückgängig gemacht und die Datenbankverbindung wird in den Autocommit-Modus zurückversetzt.
Einige Datenbanken, einschließlich MySQL, schreiben automatisch eine implizite Transaktion fest, wenn sie eine DDL-Anweisung wie DROP TABLE oder CREATE TABLE ausgeben. Durch die implizite Festschreibung können Sie keine anderen Änderungen im Rahmen dieser Transaktion rückgängig machen.
Rückgabewert:
Gibt TRUE bei Erfolg oder FALSE bei Fehler zurück.
Codebeispiel:
Eine Transaktion zurücksetzen
Das folgende Beispiel setzt diese Änderung zurück Bevor Sie eine Transaktion starten und zwei Anweisungen ausgeben, die die Datenbank ändern. In MySQL schreibt die DROP TABLE-Anweisung die Transaktion jedoch automatisch fest, sodass Änderungen in dieser Transaktion nicht rückgängig gemacht werden.
<?php /* 开始一个事务,关闭自动提交 */ $dbh->beginTransaction(); /* 更改数据库架构及数据 */ $sth = $dbh->exec("DROP TABLE fruit"); $sth = $dbh->exec("UPDATE dessert SET name = 'hamburger'"); /* 识别出错误并回滚更改 */ $dbh->rollBack(); /* 数据库连接现在返回到自动提交模式 */ ?>
Verwandte Empfehlungen: „PHP-Tutorial“
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Verwendung von PDO::beginTransaction. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!