PHP mysqli rollback() Fonction
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 :
|
| 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);
?>