oujood.com

rollback() en PHP : comment annuler les modifications effectuées sur une base de données

La fonction rollback() est une fonction importante en PHP pour gérer les transactions. Elle permet d'annuler les modifications effectuées sur une base de données en cas d'erreur.
Comment utiliser la fonction rollback() en PHP pour protéger vos données en cas d'erreur.

La fonction rollback() / mysqli_rollback() en PHP

PHP Version: 5+

PHP Évolution: PHP 5.5 : Ajout des paramètres flags et name

La fonction rollback(), ou mysqli_rollback(), permet d'annuler les modifications effectuées sur une base de données depuis le début de la transaction actuelle.

Définition et utilisation

La fonction rollback() prend en entrée un objet mysqli ou une connexion mysqli. Elle ne renvoie aucune valeur.

Voici un exemple d'utilisation de rollback() en syntaxe orientée objet :

Exemple :     📋 Copier le code

<?php

$mysqli = new mysqli('seveur', 'utilisateur, 'motDePasse', 'ma_base_de_données');

if ($mysqli->connect_error) {
  die("Erreur de connexion : " . $mysqli->connect_error);
}

// Début de la transaction
$mysqli->begin_transaction();

// Exécution de la première requête
$mysqli->query("INSERT INTO users (name) VALUES ('John Doe')");

// Exécution de la deuxième requête
$mysqli->query("INSERT INTO users (name) VALUES ('Jane Doe')");

// Vérification des résultats
if ($mysqli->affected_rows < 2) {
  // Rollback si l'insertion a échoué
  $mysqli->rollback();
} else {
  // Commit si l'insertion a réussi
  $mysqli->commit();
}

$mysqli->close();
?>

Voici un exemple d'utilisation de rollback() en syntaxe procédurale :

Exemple :     📋 Copier le code

<?php

$mysqli = mysqli_connect('seveur', 'utilisateur, 'motDePasse', 'ma_base_de_données');

if (mysqli_connect_errno()) {
  die("Erreur de connexion : " . mysqli_connect_error());
}

// Début de la transaction
mysqli_begin_transaction($mysqli);

// Exécution de la première requête
mysqli_query($mysqli, "INSERT INTO users (name) VALUES ('John Doe')");

// Exécution de la deuxième requête
mysqli_query($mysqli, "INSERT INTO users (name) VALUES ('Jane Doe')");

// Vérification des résultats
if (mysqli_affected_rows($mysqli) < 2) {
  // Rollback si l'insertion a échoué
  mysqli_rollback($mysqli);
} else {
  // Commit si l'insertion a réussi
  mysqli_commit($mysqli);
}

mysqli_close($mysqli);
?>

Valeurs possibles et paramètres

La fonction rollback() ne prend aucun paramètre.

Exemples pratiques

Voici un exemple d'utilisation de rollback() avec le paramètre name :

Exemple :     📋 Copier le code

<?php

$mysqli = new mysqli('seveur', 'utilisateur, 'motDePasse', 'ma_base_de_données');

if ($mysqli->connect_error) {
  die("Erreur de connexion : " . $mysqli->connect_error);
}

// Début de la transaction
$mysqli->begin_transaction();

// Sauvegarde d'un point de restauration
$mysqli->savepoint("my_savepoint");

// Exécution de la première requête
$mysqli->query("INSERT INTO users (name) VALUES ('John Doe')");
	// Exécution de la deuxième requête
$mysqli->query("INSERT INTO users (name) VALUES ('Jane Doe')");

// Vérification des résultats
if ($mysqli->affected_rows < 2) {
  // Rollback de la deuxième requête
  $mysqli->rollback("my_savepoint");
} else {
  // Commit si l'insertion a réussi
  $mysqli->commit();
}

$mysqli->close();
?>

Dans cet exemple, si la deuxième requête échoue, la première requête ne sera pas annulée.

Astuces et conseils d'utilisation pratique

* La fonction rollback() est utile pour protéger les modifications effectuées sur une base de données en cas d'erreur. * Il est important de noter que la fonction rollback() annule toutes les modifications effectuées depuis le début de la transaction actuelle. * Si vous souhaitez annuler uniquement les modifications effectuées depuis la dernière fois que vous avez appelé savepoint(), vous pouvez utiliser la fonction rollback() avec le paramètre name.

Conclusion

La fonction rollback() est une fonction importante pour gérer les transactions en PHP. Elle permet d'annuler les modifications effectuées sur une base de données en cas d'erreur. Il est important de bien comprendre son fonctionnement pour l'utiliser de manière efficace.


Voir aussi nos tutoriel :

La méthode Json parse

La méthode json parse analyse une chaîne JSON et construit la valeur ou l'objet JavaScript décrit par la chaîne.

fonction lcfirst, lcfirst

Met le premier caractère en minuscule

overflow

Spécifie ce qui se passe si les débordements contenu d'un élément boîte