Executer deux requetes a la suite

Executer deux requetes a la suite - PHP - Programmation

Marsh Posté le 28-11-2003 à 22:57:29    

Bonjour,
j'ai deux requetes sql d'insertion a executer mais y en a qu'une des deux qui s'execute je comprend pas pourquoi:
 
$requete_new_user = "INSERT INTO `user` (`id`, `login`, `password`, `email`, `group`) VALUES ('', '$login', '$password', '$email','$varChar'); ";
 
$request_applet="INSERT INTO `applet` (`id`, `group`, `site`, `host`, `port`, `channel`, `althost0`, `althost1`, `althost2`) VALUES ('', '$varChar', '$site', '$server', '$port', '$channel', '$althost0', '$althost1', '$althost2');";

   
mysql_query($requete_new_user);
mysql_query($request_applet);
 
 
la y'en a qu'une des deux qui est executée.
 
quand je fait:
 
 
$last_request="$requete_new_user $request_applet";
echo ("$last_request<br>" );
mysql_query($last_request);
 
 
 
elle ne s'execute pas du tout , par contre en faisant un copier collé de la requete dans phpmyadmin , elle pose pas de probleme.
 
vous voyez d'ou ca viens?


Message édité par veryfree le 29-11-2003 à 14:52:30
Reply

Marsh Posté le 28-11-2003 à 22:57:29   

Reply

Marsh Posté le 30-11-2003 à 20:22:28    

ils te retournent quoi tes mysql_query?

Reply

Marsh Posté le 30-11-2003 à 20:23:21    

Dans le premier cas:
 
$r=mysql_query($requete_new_user);
print("nb result:$r<br>" );
$r=mysql_query($request_applet);
print("nb result:$r<br>" );
 
nb result:
nb result:1
 
dans le second:
$r=mysql_query($last_request);
print("nb result:$r<br>" );
 
nb result:
 


Message édité par veryfree le 30-11-2003 à 20:28:32
Reply

Marsh Posté le 30-11-2003 à 20:28:14    


 
bon.. hum hum.. RTFM  :D  
 
tu pourras lire ça dedans déjà :
 

Citation :

Note  
La requête ne doit pas être terminée par un point-virgule.


 
puis ça :
 

Citation :

Un résultat différent de FALSE , la valeur signifie que la requête soumise est valide et qu'elle a pu être exécutée correctement.


 
et enfin, essaye plutot comme ça :
 
$requete_new_user = "INSERT INTO user (id, login, password, email, group) VALUES ('', '$login', '$password', '$email','$varChar') ";
 
$request_applet = "INSERT INTO applet (id, group, site, host, port, channel, althost0, althost1, althost2) VALUES ('', '$varChar', '$site', '$server', '$port', '$channel', '$althost0', '$althost1', '$althost2') ";

Reply

Marsh Posté le 30-11-2003 à 20:30:16    

veryfree a écrit :

Dans le premier cas:
 
$r=mysql_query($requete_new_user);
print("nb result:$r<br>" );
$r=mysql_query($request_applet);
print("nb result:$r<br>" );
 
nb result:
nb result:1


 
ben ça veut dire que la requete defaillante est dans $requete_new_user

Reply

Marsh Posté le 30-11-2003 à 20:30:46    

j'ai fait le boulay la [:veryfree]
 
 
merci a toi :jap:
 
note qd meme  qu'avec le ";" la premiere instruction est bien inséré :)


Message édité par veryfree le 30-11-2003 à 20:31:16
Reply

Marsh Posté le 30-11-2003 à 20:31:35    

$request_applet = "INSERT INTO applet (id, group, site, host, port, channel, althost0, althost1, althost2) VALUES ('', '$varChar', '$site', '$server', '$port', '$channel', '$althost0', '$althost1', '$althost2') ";
 
je vois que tu mets une valeur vide pour id..  :??:  
comment se fait il?
 
ton id est indexé? c'est quoi, un int? autoincrement? unique?

Reply

Marsh Posté le 30-11-2003 à 20:31:53    

auto increment :jap:


Message édité par veryfree le 30-11-2003 à 20:32:00
Reply

Marsh Posté le 30-11-2003 à 20:32:02    

Reply

Marsh Posté le 30-11-2003 à 20:38:26    

dit ca te dit je recherche quelqu'un pour developpé la partie plugin du site web de jchatirc :whistle:
 
genre qq qui en a crée un rempli un formulaire ( comme ca doit etre le cas pour miranda j'imagine )
 
partant [:veryfree]

Reply

Marsh Posté le 30-11-2003 à 20:38:26   

Reply

Marsh Posté le 30-11-2003 à 20:46:02    


 
ben ça me tenterais bien.. mais la j'ai déjà tellement de trucs à faire.. j'espere que je vais finit un jour :/
 
 
par contre j'me permet de te donner des ptits conseils..  
si tu as une table user, appelle tes champs comme ça :
user_id
user_name
user_nickname
user_bidule
 
comme ça, si tu fai sune jointure avec une autre table, style applet, tu l'organise comme ça :
applet_id
applet_name
applet_bidule
user_id
 
et la on vois clairement que les deux tables sont reliés par user_id  :)  
 
et aussi, je te conseille d'indexer les champs qui vont te servir pour la jointure (genre user_id de la table applet)... comme ça, mysql va mettre moins de temps à le trouver ce champ :)

Reply

Marsh Posté le 30-11-2003 à 20:48:03    

ps: si tu mets tes id en autoincrement, ne les specifies pas dans le INSERT.. fait comme si elle n'existent pas..
 
apres ta requete INSERT, utilise mysql_insert_id pour récuperer l'id générée( http://dev.nexen.net/docs/php/anno [...] ert-id.php )


Message édité par Mr yvele le 30-11-2003 à 20:48:26
Reply

Marsh Posté le 30-11-2003 à 20:49:15    

euh... perso, j'aurais nomé les champs comme ça:
 
USER:
id
name
nickname
bidule
 
APPLET:
id
name
bidule
ref_user_id
 
Je trouve que c'est beaucoup plus clair au niveau de la lecture, tu choppes directement l'ensembles des champs références.

Reply

Marsh Posté le 30-11-2003 à 20:50:12    

merci des conseils ;)
 
c'est vrai que c'est assez crade mais c'etait plus par feneantise qu'autre chose :/

Reply

Marsh Posté le 30-11-2003 à 20:53:44    

gizmo a écrit :

euh... perso, j'aurais nomé les champs comme ça:
 
USER:
id
name
nickname
bidule
 
APPLET:
id
name
bidule
ref_user_id
 
Je trouve que c'est beaucoup plus clair au niveau de la lecture, tu choppes directement l'ensembles des champs références.


 
mouaip [:meganne]
 
pas mal en fait..  :jap:  
 
donc je ferais ça :
 
USER:
user_id
user_name
user_nickname
user_bidule
 
APPLET:
applet_id
applet_name
applet_bidule
ref_user_id
 
 
 :)  

Reply

Marsh Posté le 30-11-2003 à 20:54:10    

veryfree a écrit :

c'est vrai que c'est assez crade mais c'etait plus par feneantise qu'autre chose :/


 
ouaip mais bon, par la suite ça te simplifie vraiment la vie..  :jap:

Reply

Marsh Posté le 30-11-2003 à 20:58:55    

ce truc la n'evolura plus [:ddr555]
 
a la base je validait les compte al a man et ca commencait a soulé :sweat:

Reply

Sujets relatifs:

Leave a Replay

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