PDO :: beginTransaction
PDO :: BeginTransaction iniciar uma transação (PHP 5> = 5.1.0, PECL pdo> = 0.1.0)
explicação
gramática
bool PDO::beginTransaction ( void )
Desativar o modo autocommit. Autocommit modo é desligado, ao mesmo tempo, DOP objeto muda de instância feitas ao banco de dados até você chamar o PDO :: commit () para terminar a transação só foi apresentado.
Chamando PDO :: rollBack () irá reverter as alterações feitas ao banco de dados e a conexão de banco de dados retorna para o modo autocommit.
Alguns bancos de dados, incluindo MySQL, quando uma tabela problema queda semelhante ou CREATE TABLE DDL tal, será automaticamente uma transação implícita compromete.
Implícita ou explicitamente comprometidos irá impedi-lo rolar para trás quaisquer outras alterações no âmbito desta operação.
Valor de retorno
retorno bem sucedido TRUE, ou em caso de falha retorna FALSE.Exemplos
Desfaz uma transação
O exemplo a seguir desta mudança antes da reversão começa uma transação e emite duas declarações que modificam o banco de dados.
No entanto, em MySQL, DROP TABLE compromete automaticamente a transação, de modo que qualquer alteração desta transação não será revertida.
<?php /* 开始一个事务,关闭自动提交 */ $dbh->beginTransaction(); /* 更改数据库架构及数据 */ $sth = $dbh->exec("DROP TABLE fruit"); $sth = $dbh->exec("UPDATE dessert SET name = 'hamburger'"); /* 识别出错误并回滚更改 */ $dbh->rollBack(); /* 数据库连接现在返回到自动提交模式 */ ?>