OUJOOD.COM
La fonction mysqli_commit() en PHP : Gestion des transactions MySQL
PHP Version: 5+
Évolution de PHP : PHP 5.5 : Ajout des paramètres flags et name
La fonction mysqli_commit() en PHP est utilisée pour valider de manière permanente les modifications effectuées dans une transaction MySQL. Une transaction est un groupe d'opérations SQL qui sont exécutées de manière atomique, c'est-à-dire que soit toutes les opérations réussissent et sont validées, soit aucune d'entre elles n'est appliquée.
Syntaxes
La fonction mysqli_commit() peut être utilisée de deux manières en PHP : orientée objet et procédurale.
Syntaxe orientée objet :
<?php // Connexion à la base de données $mysqli = new mysqli("localhost", "utilisateur", "motdepasse", "ma_base_de_donnees"); // Vérification de la connexion if ($mysqli->connect_error) { die("Connexion échouée : " . $mysqli->connect_error); } // Début de la transaction $mysqli->begin_transaction(); // ... Exécution des opérations SQL ... // Validation des modifications $mysqli->commit(); // Fermeture de la connexion $mysqli->close(); ?>
Syntaxe procédurale :
<?php // Connexion à la base de données $conn = mysqli_connect("localhost", "utilisateur", "motdepasse", "ma_base_de_donnees"); // Vérification de la connexion if (!$conn) { die("Connexion échouée : " . mysqli_connect_error()); } // Début de la transaction mysqli_begin_transaction($conn); // ... Exécution des opérations SQL ... // Validation des modifications mysqli_commit($conn); // Fermeture de la connexion mysqli_close($conn); ?>
Valeurs possibles et paramètres
La fonction mysqli_commit() ne prend aucun paramètre. Elle valide toutes les modifications apportées dans la transaction en cours.
Exemples pratiques
Voici des exemples concrets d'utilisation de mysqli_commit() :
Approche orientée objet :
Exemple : 📋 Copier le code
<?php $mysqli = new mysqli("localhost", "utilisateur", "motdepasse", "ma_base_de_donnees"); if ($mysqli->connect_error) { die("Connexion échouée : " . $mysqli->connect_error); } $mysqli->begin_transaction(); // Exemple : Insertion de données dans une table $mysqli->query("INSERT INTO ma_table (colonne) VALUES ('valeur')"); $mysqli->commit(); $mysqli->close(); ?>
Approche procédurale :
Exemple : 📋 Copier le code
<?php $conn = mysqli_connect("localhost", "utilisateur", "motdepasse", "ma_base_de_donnees"); if (!$conn) { die("Connexion échouée : " . mysqli_connect_error()); } mysqli_begin_transaction($conn); // Exemple : Mise à jour de données dans une table mysqli_query($conn, "UPDATE ma_table SET colonne = 'nouvelle_valeur' WHERE condition"); mysqli_commit($conn); mysqli_close($conn); ?>
Astuces et conseils d'utilisation
Voici quelques conseils pour une utilisation efficace de la fonction mysqli_commit() :
- Assurez-vous d'utiliser la fonction au bon endroit dans votre code, après avoir exécuté toutes les opérations de la transaction.
- Gérez les erreurs de manière appropriée en utilisant des structures de contrôle comme les blocs try-catch en PHP.
- Utilisez les transactions pour garantir l'intégrité des données et éviter les incohérences en cas d'erreurs.
- Évitez les transactions longues qui pourraient bloquer les ressources pendant une durée excessive.
En conclusion, la fonction mysqli_commit() en PHP est un outil essentiel pour gérer les transactions MySQL et garantir la cohérence des données dans vos applications.