PDO::commit
(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
PDO::commit — Valide une transaction
Description
PDO::commit() valide une transaction, remet la connexion en mode autocommit en attendant l'appel à la fonction PDO::beginTransaction() pour débuter une nouvelle transaction.
Valeurs de retour
Cette fonction retourne TRUE
en cas de
succès ou FALSE
si une erreur survient.
Exemples
Exemple #1 Valide une transaction basique
<?php /* Commence une transaction, désactivation de l'auto-commit */ $dbh->beginTransaction(); /* Insérer plusieurs enregistrements sur une base tout-ou-rien */ $sql = 'INSERT INTO fruit (name, colour, calories) VALUES (?, ?, ?)'; $sth = $dbh->prepare($sql); foreach ($fruits as $fruit) { $sth->execute(array( $fruit->name, $fruit->colour, $fruit->calories, )); } /* Valider les modifications */ $dbh->commit(); /* La connexion à la base de données est maintenant de retour en mode auto-commit */ ?>
Exemple #2 Committing a DDL transaction
<?php
/* Commence une transaction, désactivation de l'auto-commit */
$dbh->beginTransaction();
/* Modification du schéma de la base de données */
$sth = $dbh->exec("DROP TABLE fruit");
/* Valide les modifications */
$dbh->commit();
/* La connexion à la base de données est maintenant de retour en mode auto-commit */
?>
Note: Toutes les bases de données n'autorisent pas les transactions à fonctionner sur des déclarations DDL: certaines vont générer des erreurs, tandis que d'autres (y compris MySQL) vont automatiquement valider la transaction après que la première déclaration DDL aura été rencontré.
Voir aussi
- PDO::beginTransaction() - Démarre une transaction
- PDO::rollBack() - Annule une transaction
- Transactions et auto-commit