Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment puis-je implémenter commit/rollback pour MySQL en PHP ?

Jetez un oeil à ce tutoriel sur les transactions avec PDO.

En gros, enveloppez le code de longue durée dans :

$dbh->beginTransaction();
...
$dbh->commit();

Et selon cette page de document PDO :

"Lorsque le script se termine ou lorsqu'une connexion est sur le point d'être fermée, si vous avez une transaction en cours, PDO l'annulera automatiquement. "

Vous perdrez donc la transaction qui était en attente lorsque le script a expiré.

Mais vraiment, vous devriez repenser cela pour qu'il ne dépende pas du fait que le script reste en vie.