Executer deux requetes a la suite - PHP - Programmation
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:
Marsh Posté le 30-11-2003 à 20:28:14
bon.. hum hum.. RTFM
tu pourras lire ça dedans déjà :
Citation : Note |
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') ";
Marsh Posté le 30-11-2003 à 20:30:16
veryfree a écrit : Dans le premier cas: |
ben ça veut dire que la requete defaillante est dans $requete_new_user
Marsh Posté le 30-11-2003 à 20:30:46
j'ai fait le boulay la
merci a toi
note qd meme qu'avec le ";" la premiere instruction est bien inséré
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?
Marsh Posté le 30-11-2003 à 20:31:53
auto increment
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
genre qq qui en a crée un rempli un formulaire ( comme ca doit etre le cas pour miranda j'imagine )
partant
Marsh Posté le 30-11-2003 à 20:46:02
veryfree a écrit : partant |
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
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 )
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.
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
Marsh Posté le 30-11-2003 à 20:53:44
gizmo a écrit : euh... perso, j'aurais nomé les champs comme ça: |
mouaip
pas mal en fait..
donc je ferais ça :
USER:
user_id
user_name
user_nickname
user_bidule
APPLET:
applet_id
applet_name
applet_bidule
ref_user_id
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..
Marsh Posté le 30-11-2003 à 20:58:55
ce truc la n'evolura plus
a la base je validait les compte al a man et ca commencait a soulé
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