Lors de l'utilisation de MySQL, il est essentiel de comprendre le fonctionnement des transactions. Les transactions servent à regrouper plusieurs requêtes et à garantir qu'elles sont exécutées de manière atomique, ce qui signifie que toutes ou aucune des requêtes réussissent.
Dans MySQLi, une transaction est initiée en désactivant le mode autocommit à l’aide de l’instruction autocommit(FALSE). La validation automatique est le comportement par défaut de MySQL, ce qui signifie que chaque requête est exécutée indépendamment et immédiatement. En désactivant la validation automatique, vous activez le contrôle des transactions, vous permettant de regrouper plusieurs requêtes et de les exécuter comme une seule unité.
Après avoir regroupé les requêtes souhaitées au sein de la transaction, vous devez explicitement y mettre fin. Il existe deux façons de terminer une transaction :
Considérez l'extrait de code PHP suivant :
<?php // Database connection $mysqli = new mysqli('localhost', 'username', 'password', 'database'); // Start transaction $mysqli->autocommit(FALSE); // Queries within the transaction $mysqli->query('UPDATE `table` SET `column` = 1'); $mysqli->query('UPDATE `table1` SET `column1` = 2'); // Commit or rollback if ($allQueriesExecutedSuccessfully) { $mysqli->commit(); } else { $mysqli->rollback(); } ?>
Dans cet exemple, le mode autocommit est désactivé en utilisant autocommit(FALSE), initiant une transaction. Plusieurs requêtes sont exécutées au sein de la transaction. En fonction de l'état d'exécution, la transaction est soit validée, soit annulé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!