PDO :: rollBack
PDO :: rollBack - para reverter uma transação (PHP 5> = 5.1.0, PECL pdo> = 0.1.0)
explicação
gramática
bool PDO::rollBack ( void )
Reverter a transação corrente pelo PDO :: beginTransaction () iniciada. Se nenhuma transação está ativo, ele lançará um PDOException exceção.
Se o banco de dados está definido para o modo de confirmação automática, esta função (método) será restaurada após a transação é revertida modo auto-commit.
Alguns bancos de dados, incluindo MySQL, quando uma transação semelhante ao excluir ou criar tabelas de dados, etc. declaração DLL, ele irá conduzir automaticamente a um COMMIT implícito. Implicitamente enviado não será capaz de reverter as mudanças 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 reverte as alterações antes do início de uma transação e emite duas declarações que modificam o banco de dados. No entanto, em MySQL, a declaração DROP TABLE compromete automaticamente a transação, portanto, quaisquer mudanças nesta 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(); /* 此时数据库连接恢复到自动提交模式 */ ?>