Les transactions PDO, c’est quoi ?
Le but des transactions est de s’assurer que les changements créés par nos requêtes soient bien pris en compte avant de les appliquer définitivement. En cas de problème cela permet de revenir en arrière.
Exemple de transaction
<?php
try
{
//on tente d'exécuter les requêtes suivantes dans une transactions
//on lance la transaction
$pdo->beginTransaction();
//nos 3 requêtes
$pdo->query('SELECT * FROM machin WHERE bidule = \'truc\'');
$pdo->query('INSERT INTO machin SET bidule = \'truc\', chose = \'moi\'');
$pdo->query('UPDATE machin SET nombre = nombre + 1');
//si jusque là tout se passe bien on valide la transaction
$pdo->commit();
//on affiche un petit message de confirmation
echo 'Tout s\'est bien passé.';
}
catch(Exception $e) //en cas d'erreur
{
//on annule la transation
$pdo->rollback();
//on affiche un message d'erreur ainsi que les erreurs
echo 'Tout ne s\'est pas bien passé, voir les erreurs ci-dessous<br />';
echo 'Erreur : '.$e->getMessage().'<br />';
echo 'N° : '.$e->getCode();
//on arrête l'exécution s'il y a du code après
exit();
}
Crédit : OpenClassroom
📚 Formation : Guide des instructions SQL/PDO en PHP

-
Add a note