Téléchargement
illégal
Posez votre question Signaler

Php+requete sql [Résolu]

info_Louka 42Messages postés 25 janvier 2011Date d'inscription 1 mars 2012Dernière intervention - Dernière réponse le 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 :(
Lire la suite 

Php+requete sql »

Suggestions
11 réponses
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
à la fin de ta ligne, ce n'est pas:
$resp'"); 


mais plutôt

$resp');" 


remarque le
"
Ajouter un commentaire
Réponse
+0
moins plus
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.
xamurai- 1 févr. 2011 à 15:29
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.
JohnGtrs- 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')";
xamurai- 2 févr. 2011 à 00:09
OUI c'est vrai
mais ca c'est qu'un bout de code.
Ajouter un commentaire
Réponse
+0
moins plus
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')"; 
JohnGtrs- 1 févr. 2011 à 23:04
Les concaténations sont fausses. Ca ne risque pas de marcher ^^
Ajouter un commentaire
Réponse
+0
moins plus
ca a marché je vous remercie, c'était un problème de version j'ai reglé ca :)
merci infiniment
Ajouter un commentaire
Ce document intitulé « php+requete sql » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?