Heim >Backend-Entwicklung >PHP-Tutorial >Detaillierte Erläuterung der Verwendung von PDO::beginTransaction

Detaillierte Erläuterung der Verwendung von PDO::beginTransaction

藏色散人
藏色散人Original
2019-04-10 13:11:253034Durchsuche

Dieser Artikel stellt Ihnen hauptsächlich die detaillierte Verwendung von PDO::beginTransaction vor. Ich hoffe, dass er Freunden in Not hilfreich sein wird!

Detaillierte Erläuterung der Verwendung von PDO::beginTransaction

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 = &#39;hamburger&#39;");
/*  识别出错误并回滚更改 */
$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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn