Bonjour,

Dans un script je dois parcourir un fichier pour récupérer des codes activites et faire des requêtes d'insertion et d'update. Par contre, si pour une raison ou une autre, j'ai une erreur, je dois annuler les requêtes. Je m’étais orienté vers les transactions avant de m'apercevoir que les tables n'etaient pas en InnoDb...

Du coup, je pensais detecter qu'une requete est en erreur et donc d'annuler les requetes précédentes. Mais je n'arrive pas a detecter qu'une requete ne fonctionne pas. J'ai volontairement casser une requete mais quand j'affiche err ou strerr je n'ai rien.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
            $s_sql = 'INSERT INTO tree_act set bg=?;bd=?,activite_id=?,niveau=?';
            my $g_UpdateTreeStmt = $g_db->prepare($s_sql) or die 'Echec prepare insert dans tree_act';
            my $newBd = $bd + 1;
            $g_UpdateTreeStmt ->execute($bd, $newBd, $s_act_code, 3);
 
            #print $g_UpdateTreeStmt ->err();
            #print $g_UpdateTreeStmt ->strerr();