Php+requete sql

Résolu/Fermé
info_Louka Messages postés 64 Date d'inscription mardi 25 janvier 2011 Statut Membre Dernière intervention 16 mars 2013 - 30 janv. 2011 à 04:18
info_Louka Messages postés 64 Date d'inscription mardi 25 janvier 2011 Statut Membre Dernière intervention 16 mars 2013 - 3 févr. 2011 à 12:47
Bonjour,
slt
j'ai un problème dans une page d'insertion en php.. je comprend pa le message d'erreur..

Parse error: parse error in C:\wamp\www\annuaire\insertion_etab.php on line 57
la ligne 57 contient la requete d'insertion
$req= "INSERT INTO gestion_cathegorie (nom,site,e_mail,tel,description,listecat_id,id_region,prem_resp) VALUES ('$nom','$site','$mail',$tel1,'$desc',$id_listecat,$ville,'$resp'");

je pense qu'elle est correcte mais il y a une erreur dans les variables parce ke kon je fai
par exemple echo $nom; ca n'affiche rien

or j'ai mi dans l'action du formulaire dont s'y trouve les champs le nom de la page qui contient la requete!!
est ce ke quelqu'un peut m'aider SVP :(



A voir également:

7 réponses

JohnGtrs Messages postés 125 Date d'inscription vendredi 27 février 2009 Statut Membre Dernière intervention 6 septembre 2015 3
Modifié par JohnGtrs le 30/01/2011 à 08:29
Salut info_Louka,

problème de concaténation, tu as oublié les . et des ' sur :

('$nom','$site','$mail',$tel1,'$desc',$id_listecat,$ville,'$resp'");

Il faut que tu fasses la distinction entre php et sql donc :

('".$nom."','".$site."','".$mail."','".$tel1."','".$desc."','".$id_listecat."','".$resp."')"

Si tu as du Integer, enlèves les ' et laisse que les "sur la variable concernée.
0
info_Louka Messages postés 64 Date d'inscription mardi 25 janvier 2011 Statut Membre Dernière intervention 16 mars 2013
1 févr. 2011 à 02:39
le problème c'est ke même avant la ligne de la requete quand je met
echo $nom;
ou bien echo pour une autre variable ca ne marche pas ca n'affiche rien
0
info_Louka Messages postés 64 Date d'inscription mardi 25 janvier 2011 Statut Membre Dernière intervention 16 mars 2013
1 févr. 2011 à 04:08
ca a marché l'affichage càd ke g le contenu des variables sauf que la requete ne marche tjrs pas :'(
en faite j'ai essayé d'exécuter la requete

insert into gestion_cathegorie (nom,site,e_mail,tel,description,listecat_id,id_region,prem_resp) values ('journal','aaa@hhh.com',256544,'dsdszdfz',1,1,'dfdfd');

directement dans Mysql et ca me donne le problème suivant

#1136 - Column count doesn't match value count at row 1
0
xamurai Messages postés 223 Date d'inscription mardi 11 janvier 2011 Statut Membre Dernière intervention 19 février 2013 15
1 févr. 2011 à 04:09
à la fin de ta ligne, ce n'est pas:
$resp'"); 


mais plutôt

$resp');" 


remarque le
"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JohnGtrs Messages postés 125 Date d'inscription vendredi 27 février 2009 Statut Membre Dernière intervention 6 septembre 2015 3
1 févr. 2011 à 13:20
Non xamurai, il ne faut pas mettre ton point virgule dans ta guillemet.

info_Louka, ta requête ne peut pas marcher, tu n'as pas le même nombre de champs, et dans un insert tu as besoin d'avoir le même nombre.

(nom,site,e_mail,tel,description,listecat_id,id_region,prem_resp) : 8 champs

('journal','aaa@hhh.com',256544,'dsdszdfz',1,1,'dfdfd') : 7 champs

Et je ne pense pas que dans MySQL tu as besoin du point virgule à la fin.

Dis moi des nouvelles ++.

ps : $resp')"; a la fin, pas le ; dans la guillemet.
0
xamurai Messages postés 223 Date d'inscription mardi 11 janvier 2011 Statut Membre Dernière intervention 19 février 2013 15
Modifié par xamurai le 1/02/2011 à 15:31
oui c'est le nombre de champs effectivements.

---
pas besoins de point virgule mais c'est du code propre. et vaut mieux apprendre à generer du code propre que d'apprendre les exception.
c'est tout comme le "var" en javascript.
On en a pas toujours besoin, mais c'est mieux avec.
0
JohnGtrs Messages postés 125 Date d'inscription vendredi 27 février 2009 Statut Membre Dernière intervention 6 septembre 2015 3
1 févr. 2011 à 22:53
Je n'ai pas dis de pas mettre le point virgule, mais de le mettre après la guillemet ^^, car tu avais ecris : $resp');" au lieu de $resp')";
0
xamurai Messages postés 223 Date d'inscription mardi 11 janvier 2011 Statut Membre Dernière intervention 19 février 2013 15
2 févr. 2011 à 00:09
OUI c'est vrai
mais ca c'est qu'un bout de code.
0
Doctor C Messages postés 627 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 19 février 2016 398
1 févr. 2011 à 20:39
Fait plutôt un echo sur ta variable $req pour voir à quoi elle ressemble. Ce sera plus facile de déceler l'erreur. (Tu peux copier/coller le résultat dans MySQL et l'exécuter de là).

Mais en effet, l'erreur semble être où tu as placé tes guillemettes.

Ceci devrait fonctionner:
$req= "INSERT INTO gestion_cathegorie (nom,site,e_mail,tel,description,listecat_id,id_region,prem_resp) VALUES ('$nom','$site','$mail',$tel1,'$desc',$id_listecat,$ville,'$resp')"; 
0
JohnGtrs Messages postés 125 Date d'inscription vendredi 27 février 2009 Statut Membre Dernière intervention 6 septembre 2015 3
1 févr. 2011 à 23:04
Les concaténations sont fausses. Ca ne risque pas de marcher ^^
0
info_Louka Messages postés 64 Date d'inscription mardi 25 janvier 2011 Statut Membre Dernière intervention 16 mars 2013
3 févr. 2011 à 12:47
ca a marché je vous remercie, c'était un problème de version j'ai reglé ca :)
merci infiniment
0