inserrer des données dans plusieurs tables

inserrer des données dans plusieurs tables - PHP - Programmation

Marsh Posté le 18-03-2005 à 15:32:59    

Bonjour,
 
essaye d'inserrer des données dans 2 bases différentes mais apparament ça marche pas
 
 

Code :
  1. /*execution de la requette et traitement */
  2. $req_inscription1 =  "INSERT INTO membres ( nom, prenom,adresse, complement, cp, ville,telephone,portable, mail, fax, date_adhesion, date_fin,utilisateur,mot_passe, statut)
  3. VALUES('$nom','$prenom','$adresse', '$complement','$cp','$ville','$telephone','$portable','$mail',
  4. '$fax','$date_adhesion','$date_fin','$utilisateur','$mot_passe','$statut')";
  5. $req_inscription2 ="INSERT INTO profil (statut) VALUES ('$statut')";
  6. if (($result= mysql_query($req_inscription1)&& ($result= mysql_query($req_inscription2))//execution de la requette et test de réussite
  7. {echo "<div id=\"page\">Le membres a été ajouter à la base  avec SUCCES<b></div>";
  8. }
  9. else {  echo mysql_errno() . ": " . mysql_error(). "\n" ; exit(1);}//message d'erreur

Reply

Marsh Posté le 18-03-2005 à 15:32:59   

Reply

Marsh Posté le 18-03-2005 à 15:47:54    

tu insert pas dans 2 bases mais dans 2 tables... spa pareil ;)
 
tu utilise le meme $result pour la requete 1 et la requete 2, donc tu rentre dans le IF qui si tu as $result && $result, je suis pas sur que ce soit une très bonne idée...


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 18-03-2005 à 15:52:38    

tu me suggère de faire comment alors

Reply

Marsh Posté le 18-03-2005 à 15:55:29    

traites les 2 requêtes tranquillement l'une après l'autre...


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 18-03-2005 à 15:55:36    

$result1 && $result2 ???
 
ça t'es venu comment l'idée d'utiliser $req_inscription1 et $req_inscription2 ??? et de faire 2 mysql_query() ???
 
tu fait 2 requetes, pour savoir si elle se sont bien déroulée toutes les 2 gères 2 results, et tu regarde que les 2 sont OK...


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 18-03-2005 à 15:57:58    

T'as un problème de parenthèses.
 
Normalement sinon ça marche ;)
 

Code :
  1. if ( ($result = mysql_query($req_inscription1)) && ($result = mysql_query($req_inscription2)) ) {//execution de la requette et test de réussite
  2. echo '<div id="page">Le membre a été ajouté à la base avec SUCCES</div>';
  3. } else {
  4. echo mysql_errno() . ": " . mysql_error(). "\n" ; exit(1);
  5. }//message d'erreur


 
ou
 

Code :
  1. if ( mysql_query($req_inscription1) && mysql_query($req_inscription2) ) {//execution de la requette et test de réussite
  2. echo '<div id="page">Le membre a été ajouté à la base avec SUCCES</div>';
  3. } else {
  4. echo mysql_errno() . ": " . mysql_error(). "\n" ; exit(1);
  5. }//message d'erreur


Message édité par ratibus le 18-03-2005 à 16:01:57
Reply

Marsh Posté le 18-03-2005 à 16:05:55    

meme si c'est un pb de syntaxe, je prefere quand meme qu'il prenne t'a 2eme version ratibus, dans l'absolu je trouve que spa propre de gérer un seul bit d'erreur pour 2 requetes


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 18-03-2005 à 16:15:03    

Si on sait ce qu'on fait ça va mais sinon, un jour on risque d'avoir des surprises dans certains cas :D

Reply

Marsh Posté le 18-03-2005 à 16:30:47    

ok merci,
 
ça marche, par contre il me dit que  
1054: Unknown column 'statut' in 'field list' 1
pourtant le champs existe bien.
 
sinon Xav, tu dis qu'il est preférable faire 2 requetes séparé, donc tu veux dire en ajoutant un if suplémentaire ou suparé completement

Reply

Marsh Posté le 18-03-2005 à 19:35:03    

ben avec 2 if, en cas de pb tu saura quelle requete a merdé, ce qui est mieux en phase de debug, une fois que ça tourne, la soluce de ratibus me parait très propre...


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed