PDO::commit

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)

PDO::commit Valide une transaction

Description

publicPDO::commit(): bool

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.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne true en cas de succès ou false si une erreur survient.

Erreurs / Exceptions

Une exception PDOException sera lancée si aucune transaction n'est active.

Note: Une exception sera émise même si l'attribut PDO::ATTR_ERRMODE ne vaut pas PDO::ERRMODE_EXCEPTION.

Exemples

Exemple #1 Valide une transaction basique

<?php

$dbh->beginTransaction();


$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,
));
}


$dbh->commit();


?>

Exemple #2 Committing a DDL transaction

<?php

$dbh->beginTransaction();


$sth = $dbh->exec("DROP TABLE fruit");


$dbh->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

To Top