PDO::rollBack
(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)
PDO::rollBack â
Annule une transaction
Description
public function PDO::rollBack():
bool
Si la base de données est en mode autocommit, cette fonction
restaurera le mode autocommit aprĂšs l'annulation de la transaction.
Quelques bases de données, dont MySQL, exécuteront automatiquement un COMMIT
lorsqu'une requĂȘte de dĂ©finition de langage de base de donnĂ©es (DDL) comme
DROP TABLE ou CREATE TABLE est exécutée dans une transaction. Ce COMMIT
implicite empĂȘchera d'annuler toutes autres modifications faites dans cette
transaction.
Liste de paramĂštres
Cette fonction ne contient aucun paramĂštre.
Valeurs de retour
Cette fonction retourne true en cas de succĂšs ou false si une erreur survient.
Exemples
Exemple #1 Annulation d'une transaction
L'exemple suivant commence une transaction et exĂ©cute deux requĂȘtes
qui modifient la base de données avant d'annuler les modifications. Sur MySQL,
cependant, la requĂȘte DROP TABLE validera automatiquement la transaction,
donc, aucune des modifications de la transaction ne sera annulée.
<?php
/* Début d'une transaction, désactivation du mode autocommit */
$dbh->beginTransaction();
/* Modifie le schéma de la base de données ainsi que des données */
$sth = $dbh->exec("DROP TABLE fruit");
$sth = $dbh->exec("UPDATE dessert
SET name = 'hamburger'");
/* On s'aperçoit d'une erreur et on annule les modifications */
$dbh->rollBack();
/* La connexion à la base de données revient en mode autocommit */
?>