PDO::rollBack
(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)
PDO::rollBack —
Reverte uma transação
Descrição
public PDO::rollBack():
bool
Se o banco de dados foi definido para o modo de confirmação automática, esta função restaurará
o modo de confirmação automática após a reversão da transação.
Alguns bancos de dados, incluindo MySQL, emitem automaticamente um COMMIT
implícito quando uma instrução DDL (linguagem de definição de banco de dados), como
DROP TABLE ou CREATE TABLE, é emitida em uma transação. O COMMIT
implícito impedirá que quaisquer outras alterações sejam revertidas dentro
do limite da transação.
Parâmetros
Esta função não possui parâmetros.
Valor Retornado
Retorna true
em caso de sucesso ou false
em caso de falha.
Exemplos
Exemplo #1 Revertendo uma transação
O exemplo a seguir inicia uma transação e emite duas instruções
que modificam o banco de dados antes de reverter as alterações. No MySQL,
entretanto, a instrução DROP TABLE confirma automaticamente a
transação de forma que nenhuma das alterações na transação é
revertida.
<?php
/* Inicia uma transação, desligando a auto-confirmação */
$dbh->beginTransaction();
/* Altera esquema e dados do bando */
$sth = $dbh->exec("DROP TABLE fruta");
$sth = $dbh->exec("UPDATE sobremesa
SET nome = 'hamburger'");
/* Reconhece o erro e reverte as alterações */
$dbh->rollBack();
/* A conexão do banco agora está de volta no modo de auto-confirmação */
?>