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.