PDO :: begintransaction
PDO :: Begintrans eine Transaktion starten (PHP 5> = 5.1.0, PECL gU> = 0.1.0)
Erklärung
Grammatik
bool PDO::beginTransaction ( void )
Autocommit-Modus ausschalten. Autocommit-Modus wird zur gleichen Zeit ausgeschaltet, um PDO in der Datenbank vorgenommen Instanz-Objekt ändert, bis Sie das PDO :: commit () aufrufen, um die Transaktion zu beenden wurde nur vorgelegt.
PDO :: rollback () aufrufen, werden die Änderungen an der Datenbank und die Datenbankverbindung ein Rollback wechselt zurück in den Autocommit.
Einige Datenbanken einschließlich MySQL, wenn ein ähnliches Problem DROP TABLE oder CREATE TABLE DDL-Anweisungen so, es wird automatisch eine implizite Transaktion sein verpflichtet.
Implizit oder explizit verhindern wird, verpflichtet Sie rollen wieder alle anderen Änderungen im Rahmen dieser Transaktion.
Rückgabewert
Erfolgreiche Rückkehr TRUE, oder bei einem Fehler FALSCH.Beispiele
Setzt eine Transaktion zurück
Das folgende Beispiel für diese Änderung vor dem Rollback beginnt eine Transaktion und gibt zwei Aussagen, die die Datenbank ändern.
Doch in MySQL, TABLE-Anweisung DROP verpflichtet die Transaktion automatisch, so dass alle Ä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(); /* 数据库连接现在返回到自动提交模式 */ ?>