Exemples de transactions PHP MySQL
Les transactions en PHP et MySQL vous permettent de regrouper un ensemble de requêtes en une seule unité de travail atomique. Cela signifie que si l'une des requêtes échoue, toutes les modifications apportées par la transaction sont annulées.
Comment utiliser les transactions
Pour utiliser les transactions en PHP et MySQL, vous devrez :
Exemple
Voici un exemple simple de la façon d'utiliser les transactions en PHP et MySQL :
mysql_query("SET AUTOCOMMIT=0"); mysql_query("START TRANSACTION"); $a1 = mysql_query("INSERT INTO rarara (l_id) VALUES('1')"); $a2 = mysql_query("INSERT INTO rarara (l_id) VALUES('2')"); if ($a1 and $a2) { mysql_query("COMMIT"); } else { mysql_query("ROLLBACK"); }
Dans cet exemple, l'instruction COMMIT n'est exécutée que si $a1 et $a2 réussissent. Si l'une des requêtes échoue, l'instruction ROLLBACK est exécutée.
Utilisation de transactions avec PDO
La classe PDO offre une manière plus moderne et orientée objet de travailler avec Transactions MySQL. Pour utiliser des transactions avec PDO, vous devrez :
Exemple
Voici un exemple d'utilisation des transactions avec PDO :
try { $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->beginTransaction(); $pdo->exec("INSERT INTO rarara (l_id) VALUES('1')"); $pdo->exec("INSERT INTO rarara (l_id) VALUES('2')"); $pdo->commit(); } catch (\PDOException $e) { $pdo->rollback(); throw $e; }
Dans cet exemple, la méthode commit() n'est appelée que si les deux requêtes réussissent. Si l'une des requêtes échoue, la méthode rollback() est appelée et une exception est levée.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!