Bonjour je rencontre un soucis dans ma programmation
je fais un code avec une série de requêtes utilisant PDO puis après chaque exécution de requête je la teste,si elle est false, je lance une exception.
Quand j'execute les requetes si le programme ne rencontre pas de "$result=$dbf->commit();" rien ne s'inscrit dans la BDD jusque la c normal.
Par contre lorsque j'exécute la dernière requête, meme si elle ne rencontre pas de $result=$dbf->commit();" les inscriptions dans la BDD par les autres requêtes sont réalisées. (même si je met un die avant le commit comme dans mon bout de code)
Comment une validation de transaction est possible sans commit?
Merci de votre aide (si je me suis bien fais comprendre).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 try{ //........ requêtes d'inscription dans la BDD // dernière requête $query="DROP DATABASE IF EXISTS DB_".$iddef['id_member'].";"; $result=$dbf->prepare($query); $resultat2=$result->execute(); if (!$resultat2) // dans le cas présent c'est true throw new exception(); die(); $result=$dbf->commit(); }catch(exception $e){ $result=$dbf->rollback(); die(); }
![]()
Partager