le 20/07/2007 à 13:53
Lefounard
Bonjour,
Je n'ai pas du saisir le fonctionnement des transaction. Voila mon morceau de code dans lequel, j'ai volontairement inserer une erreur sur la deuxieme requete, pour voir si c'était annule.
Or la premiere requete est bien execute et en bdd, les elements sont enleve, normalement le fait que ce soit une transaction aurait du pratiquer la politique du tout ou rien ?
Mes tables sont en InnoDB.
Merci de vos conseils,
Ciao,
Je n'ai pas du saisir le fonctionnement des transaction. Voila mon morceau de code dans lequel, j'ai volontairement inserer une erreur sur la deuxieme requete, pour voir si c'était annule.
/* On demarre notre transtaction */
$req='BEGIN TRANSACTION';
mysql_query($req,LINK);
/*$req.='SET AUTOCOMMIT = 0'; */
echo $req.'<br />';
/* On supprime les meta données du champs situé dans la table meta_clients_extend */
$req= sprintf("DELETE FROM `meta_clients_extend` WHERE id_champ='%d'",mysql_real_escape_string($id_champ, LINK));
mysql_query($req,LINK);
echo $req.'<br />';
/* On supprime le champs dans la table clients_extend */
/* ALTER TABLE `clients_extend` DROP `nom_champ` */
$req=sprintf("ALTER TABLE `clients_extend` DROPFR `%s`",mysql_real_escape_string($nom_champ, LINK));
mysql_query($req,LINK);
echo $req.'<br />';
$req='COMMIT';
mysql_query($req,LINK);
Or la premiere requete est bien execute et en bdd, les elements sont enleve, normalement le fait que ce soit une transaction aurait du pratiquer la politique du tout ou rien ?
Mes tables sont en InnoDB.
Merci de vos conseils,
Ciao,