PDO :: beginTransaction
PDO :: beginTransaction démarrer une transaction (PHP 5> = 5.1.0, PECL pdo> = 0.1.0)
explication
grammaire
bool PDO::beginTransaction ( void )
Désactiver le mode autocommit. Autocommit mode est désactivé en même temps, en PDO objet des modifications d'instance apportées à la base de données jusqu'à ce que vous appelez le PDO :: commit () pour mettre fin à la transaction n'a été soumis.
Appeler PDO :: rollback () va annuler les modifications apportées à la base de données et la connexion de base de données retourne en mode autocommit.
Certaines bases de données, y compris MySQL, quand un problème de TABLE DROP similaire ou CREATE TABLE instructions DDL tel, il sera automatiquement une transaction implicite commet.
Implicitement ou explicitement engagé empêchera vous restaurez d'autres modifications dans le cadre de cette transaction.
Valeur de retour
Un retour réussi TRUE, ou en cas d'échec retourne FALSE.Exemples
Annule une transaction
L'exemple suivant de ce changement avant que la restauration commence une transaction et émet deux déclarations qui modifient la base de données.
Cependant, MySQL, DROP TABLE engage automatiquement la transaction, de sorte que toute modification de cette transaction ne seront pas annulées.
<?php /* 开始一个事务,关闭自动提交 */ $dbh->beginTransaction(); /* 更改数据库架构及数据 */ $sth = $dbh->exec("DROP TABLE fruit"); $sth = $dbh->exec("UPDATE dessert SET name = 'hamburger'"); /* 识别出错误并回滚更改 */ $dbh->rollBack(); /* 数据库连接现在返回到自动提交模式 */ ?>