PHP mysqli rollback() Fonction

❮ Référence PHP mysqli

Exemple - Style orienté objet

Désactivez l'auto-commit, effectuez quelques requêtes, validez-les, puis annulez la transaction en cours :

<?php
$mysqli = new mysqli("localhost","my_user","my_password","my_db");

if ($mysqli -> connect_errno) {
echo "Échec de la connexion à MySQL : " . $mysqli -> connect_error;
exit();
}

// Désactiver l'auto-commit
$mysqli -> autocommit(FALSE);

// Insérer quelques valeurs
$mysqli -> query("INSERT INTO Persons (FirstName,LastName,Age)
VALUES ('Peter','Griffin',35)");
$mysqli -> query("INSERT INTO Persons (FirstName,LastName,Age)
VALUES ('Glenn','Quagmire',33)");

// Valider la transaction
if (!$mysqli -> commit()) {
echo "Échec de la validation de la transaction";
exit();
}

// Annuler la transaction
$mysqli -> rollback();

$mysqli -> close();
?>

Consultez l'exemple de style procédural en bas.


Définition et Utilisation

La fonction rollback() / mysqli_rollback() annule la transaction en cours pour la connexion à la base de données spécifiée.

Conseil : Consultez également la fonction commit() , qui valide la transaction en cours, et la fonction autocommit() , qui active ou désactive l'auto-commit des modifications de la base de données.


Syntaxe

Style orienté objet :

$mysqli -> rollback( flags, name )

Style procédural :

mysqli_rollback( connection, flags, name )

Valeurs des Paramètres

Paramètre Description
connection Requis. Spécifie la connexion MySQL à utiliser
flags Optionnel. Une constante :
  • MYSQLI_TRANS_COR_AND_CHAIN - Ajoute "AND CHAIN"
  • MYSQLI_TRANS_COR_AND_NO_CHAIN - Ajoute "AND NO CHAIN"
  • MYSQLI_TRANS_COR_RELEASE - Ajoute "RELEASE"
  • MYSQLI_TRANS_COR_NO_RELEASE - Ajoute "NO RELEASE"
name Optionnel. ROLLBACK/* name */ est exécuté si ce paramètre est spécifié

Détails Techniques

Valeur de Retour : TRUE en cas de succès. FALSE en cas d'échec
Version PHP : 5+
Journal des Modifications PHP : PHP 5.5 : Ajout des paramètres flags et name

Exemple - Style procédural

Désactivez l'auto-commit, effectuez quelques requêtes, validez-les, puis annulez la transaction en cours :

<?php
$con=mysqli_connect("localhost","my_user","my_password","my_db");

if (mysqli_connect_errno()) {
echo "Échec de la connexion à MySQL : " . mysqli_connect_error();
exit;
}

// Désactiver l'auto-commit
mysqli_autocommit($con,FALSE);

// Insérer quelques valeurs
mysqli_query($con,"INSERT INTO Persons (FirstName,LastName,Age)
VALUES ('Peter','Griffin',35)");
mysqli_query($con,"INSERT INTO Persons (FirstName,LastName,Age)
VALUES ('Glenn','Quagmire',33)");

// Valider la transaction
if (!$mysqli_commit($con)) {
echo "Échec de la validation de la transaction";
exit();
}

// Annuler la transaction
mysqli_rollback($con);

// Fermer la connexion
mysqli_close($con);
?>


❮ Référence PHP mysqli