PHP mysqli rollback()
La fonction rollback() / mysqli_rollback() est une fonction intégrée en PHP qui annule la transaction en cours. Regardez également la fonction commit(), qui valide la transaction en cours, et la fonction autocommit(), qui active ou désactive automatiquement les modifications apportées à une base de données.
Syntaxe
Style procédural:
mysqli_rollback(conn, flags, name)
Style orienté objet:
$mysqli->rollback(flags, name)
Paramètres
- conn(Obligatoire) : Spécifie la connexion MySQL à utiliser.
- flags(Optionnel) : Une constante peut être:
- 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é.
Valeur de retour
La fonction renvoie TRUE en cas de succès. FALSE en cas d’échec.
Version PHP:
5+
Exemple – Style procédural:
<?php $conn = mysqli_connect("localhost", "root", "password", "db_name"); // Vérifier la connexion if (mysqli_connect_errno()) { echo "Impossible de se connecter à MySQL: " . mysqli_connect_error(); exit(); } // Désactiver la validation automatique mysqli_autocommit($conn, FALSE); // Insérez des valeurs mysqli_query($conn, "INSERT INTO Users (name,age) VALUES ('Alex',22)"); // Valider la transaction if (!$mysqli_commit($conn)) { echo "Échec de validation de la transaction"; exit(); } // Annuler la transaction mysqli_rollback($conn); // Fermer la connexion mysqli_close($conn); ?>
Exemple – Style orienté objet:
<?php $mysqli = new mysqli("localhost", "root", "password", "db_name"); // Vérifier la connexion if ($mysqli->connect_errno) { echo "Impossible de se connecter à MySQL: " . $mysqli->connect_error; exit(); } // Désactiver la validation automatique $mysqli->autocommit(FALSE); // Insérez des valeurs $mysqli->query("INSERT INTO Users (name,age) VALUES ('Alex',22)"); // Valider la transaction if (!$mysqli->commit()) { echo "Échec de validation de la transaction"; exit(); } // Annuler la transaction $mysqli->rollback(); // Fermer la connexion $mysqli->close(); ?>