Votre question

[PHP] Erreur requette SQL, je pige pas

Tags :
  • Sql
  • Programmation
Dernière réponse : dans Programmation
6 Mars 2010 20:05:51

Bonjour, voila, je développe un site sur lequel il y a un formulaire d'inscription. je l'ai essayer et lorsque j'envoi le formulaire la base de donnée me répond :

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@free.fr, XXX ..." on line 1

Si sa peut aider, voila le code qui compose ma requette :
  1. // Définitions des portions de requette
  2. $libel="login, pass, nom, prenom, email, emailvisible, adresse, codepostal, ville, fixe, mobile, telvisible, sexe, naissance, siteweb, nb_messages, mailrepsuj, mailmsg";
  3. $var="$login, $pass, $nom, $prenom, $email, $emailvisible, $adresse, $codepostal, $ville, $fixe, $mobile, $telvisible, $sexe, $naissance, $siteweb, $mailrepsuj, $mailmsg";
  4. // Exécution de la requette SQL
  5. if (!mysql_query("INSERT INTO membres ($libel) VALUES ($var)")){
  6. echo "La base de donnée est temporairement innaccessible, merci de reitérer votre demande dans quelques instants.";
  7. echo mysql_error();
  8. return 0;
  9. }


une idée?

merci d'avance
@++
fab

Autres pages sur : php erreur requette sql pige

7 Mars 2010 10:35:39

Oui j'ai bien échapper toutes mes variables
d'ailleur j'ai l'impression que la fonction mysql_real_escape_string déraille sévère :
dans le nom de la ville j'ai mis 1 apostrophe, dans ma requête SQL j'ai 7 anti slash devant cette apostrophe et pourtant je ne l'échape qu'une fois...
m
0
l
Contenus similaires
7 Mars 2010 15:35:03

$var="$login, $pass, $nom, $prenom, $email, $emailvisible, $adresse, $codepostal, $ville, $fixe, $mobile, $telvisible, $sexe, $naissance, $siteweb, $mailrepsuj, $mailmsg";


Ici, tu n'utilises pas tes variables... Simplement du texte...



Ecrit plutot ceci :

$var="".$login.", ". $pass .", ". $nom .", ". $prenom .", ". $email .", ". $emailvisible .", ". $adresse .", ". $codepostal .", ". $ville .", ". $fixe .", .". $mobile .", ". $telvisible .", ". $sexe .", ". $naissance .", ". $siteweb .", ". $mailrepsuj .", ". $mailmsg."";
m
0
l
7 Mars 2010 15:44:37

C'est la même chose vus que c'est entre double quote...
la preuve, j'ai essayer un
  1. echo $var;

et sa me retourne bien les valeurs contenue par ses variables et non le nom de ces variables.

Même la requete prouve que sa marche puisqu'elle me retourne syntax error near "@free.fr,oui,quartier des machins,01234,trous sur mers, ..."

donc le problème ne viens pas de la...

j'ai l'impression que ceu qui le gène c'est la présence du @,
non?

merci pour vos réponses
m
0
l
7 Mars 2010 15:51:17

Mets dans requête dans une variable, puis fait un echo de cette requete, et colle le résultat dans ton prochain message.
m
0
l
8 Mars 2010 14:13:10

en fet j'ai trouver la solution...
il fallait que je mette $var="'$nom','$prenom',...

sim du 80 était pas loin... xD
bonne aprem et merci a tous
m
0
l
a c 232 L Programmation
10 Mars 2010 00:12:55

C'était bon ce qu'il t'a donné. Tu as juste utilisé une autre méthode avec des ' plutôt que des "
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS