PDO::commit valide une transaction (PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
bool PDO::commit ( void )
Validez une transaction et la connexion à la base de données revient en mode de validation automatique jusqu'au prochain appel à PDO::beginTransaction() pour démarrer une nouvelle transaction.
<?php/* Démarrer une transaction et désactiver la validation automatique */$dbh->beginTransaction();/* Insérer plusieurs lignes d'enregistrements sur une base tout ou rien (tout ou rien) */$ sql = 'INSERT INTO fruit (nom, couleur, calories) VALEURS (?, ?, ?)';$sth = $dbh->prepare($sql);foreach ($fruits as $fruit) { $sth->execute(array( $fruit->name, $fruit->colour, $fruit->calories, ));}/* Valider les modifications*/$dbh->commit();/* Maintenant, connectez-vous à base de données Revenir au mode de validation automatique*/?>
<?php/* Démarrer une transaction et désactiver la soumission automatique */$dbh->beginTransaction();/* Modifier le schéma de la base de données */$sth = $dbh->exec("DROP TABLE fruit");/* Modifier le schéma de la base de données*/$dbh->commit();/* La connexion à la base de données revient désormais en mode de validation automatique*/?>
Remarque : Toutes les bases de données n'autorisent pas les opérations de transaction à l'aide d'instructions DDL : certaines généreront des erreurs, tandis que d'autres (y compris MySQL) valideront automatiquement les transactions après avoir rencontré la première instruction DDL.