Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1857 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Erreur de parsing... J'deviens fou :)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Erreur de parsing... J'deviens fou :)

n°1353292
clemdups
Posté le 25-04-2006 à 09:30:51  profilanswer
 

Bonjour à tous !
 
J'ai une petite (ou grosse ? ^^) erreur de parsing que je ne trouve pas, j'ai manipulé le code dans tous les sens, rien à faire........ :(
Quelqu'un saurait-il m'aider ?
 

Code :
  1. while ($tmp) {
  2.     if ($tmp==1) {mysql_query("INSERT INTO comportement('Question2')
  3. VALUES ('1')" )};
  4.     elseif ($tmp==2) {mysql_query("INSERT INTO comportement('Question2') VALUES ('2')" )};


Visiblement, elle est dans la requête mysql...
De même avec celle-ci :
 

Code :
  1. mysql_query("INSERT INTO comportement('id','Question1','Question2','Question3') VALUES ('', '$un', 'two', '$trois')" )


Elle ne renvoie aucune erreur sur la page (??!!) mais rien ne s'inscrit dans la Base de données... La table s'appelle "comportement" et il y a dedans les champs "id", "Question1", "Question2" et "Question3" (aucun souci avec les majuscules).
En revanche, cette requête fonctionne bien si je la mets comme suit :
 

Code :
  1. mysql_query("INSERT INTO comportement VALUES ('', '$un', 'two', '$trois')" )


J'avoue être un peu perdu là... J'ai cherché partout sur le net des façons d'écrire les requêtes SQL mais je n'ai rien trouvé qui m'aide à corriger mon problème...
Je précise que je fais tout ça en local, avec PhPMyAdmin.
 
Merci d'avance à ceux qui sauront m'aider :)


Message édité par clemdups le 25-04-2006 à 09:31:55
mood
Publicité
Posté le 25-04-2006 à 09:30:51  profilanswer
 

n°1353294
hardrog
Play it fucking loud !!
Posté le 25-04-2006 à 09:41:11  profilanswer
 

Code :
  1. INSERT INTO comportement('id','Question1','Question2','Question3') VALUES ('', '$un', 'two', '$trois')


 
 
 
id, Qestion1, Question2 et Question3 sont de quels types dans ta BD??

n°1353296
clemdups
Posté le 25-04-2006 à 09:42:51  profilanswer
 

hardrog a écrit :

Code :
  1. INSERT INTO comportement('id','Question1','Question2','Question3') VALUES ('', '$un', 'two', '$trois')


 
 
 
id, Qestion1, Question2 et Question3 sont de quels types dans ta BD??


 
 
Bonjour et merci de la réponse.
La plupart du temps, les résultats seront des chiffres mais parfois du texte.
Aussi j'ai tout laissé par défaut : VARCHAR.
id est INT par contre (et clé primaire & auto_inc')

n°1353297
hardrog
Play it fucking loud !!
Posté le 25-04-2006 à 09:45:15  profilanswer
 

C'est possible que ton probléme vienne de la. Quand tu as du texte, imagine qu'il comporte des espaces==>source de pb.
 
 
fait un truc du genre:
 

Code :
  1. INSERT INTO comportement('id','Question1','Question2','Question3') VALUES ('', "'.$un.'", "'two'", "'.$trois.'" )


 
en supposant que $un et $trois soient des variables bien renseignées

Message cité 1 fois
Message édité par hardrog le 25-04-2006 à 09:46:16
n°1353328
clemdups
Posté le 25-04-2006 à 10:23:52  profilanswer
 

hardrog a écrit :

C'est possible que ton probléme vienne de la. Quand tu as du texte, imagine qu'il comporte des espaces==>source de pb.
 
 
fait un truc du genre:
 

Code :
  1. INSERT INTO comportement('id','Question1','Question2','Question3') VALUES ('', "'.$un.'", "'two'", "'.$trois.'" )


 
en supposant que $un et $trois soient des variables bien renseignées


Question3 ne sera jamais que du texte, j'ai donc modifié ça sur la base de données, merci de l'info ;)
Mais ça ne corrige pas mon problème pour la question 2... Car l'erreur de parsing se trouve dans la ligne du "if" :(

n°1353331
iannouchka
BraaAAhhHHhh
Posté le 25-04-2006 à 10:26:48  profilanswer
 

essaye d'enlever le point virgule apres l'accolade...


---------------
When I find my code in tons of trouble, friends and colleagues come to me, speaking words of wisdom, "write in C"
n°1353332
iannouchka
BraaAAhhHHhh
Posté le 25-04-2006 à 10:27:14  profilanswer
 

et de la mettre avant


---------------
When I find my code in tons of trouble, friends and colleagues come to me, speaking words of wisdom, "write in C"
n°1353335
hardrog
Play it fucking loud !!
Posté le 25-04-2006 à 10:29:49  profilanswer
 

Code :
  1. if ($tmp==1) {mysql_query("INSERT INTO comportement('Question2')
  2. VALUES ('1')" )};

 
 
ton point virgule n'est pas a la bonne place je pense....
 
 

Code :
  1. if ($tmp==1) {mysql_query("INSERT INTO comportement('Question2')
  2. VALUES ('1')" );}


 
 
edit: oups grillé


Message édité par hardrog le 25-04-2006 à 10:30:10
n°1353343
clemdups
Posté le 25-04-2006 à 10:33:45  profilanswer
 

iannouchka a écrit :

et de la mettre avant


En effet, bien vu, je m'incline.............  :whistle:  
 
Maintenant plus aucune erreur n'est détectée, mais on ne me rajoute rien dans la BDD........
Si j'enlève la partie renseignant les champs, ça marche... Sauf que pour la première partie (celle avec les IF) j'ai absolument besoin de donner le champ :(
 
Si quelqu'un a la patience de continuer à m'aiguiller... Merci ^^

n°1353348
iannouchka
BraaAAhhHHhh
Posté le 25-04-2006 à 10:38:35  profilanswer
 

tu as la meme erreur de point virgule dans ton elseif.
Mais sinon faut voir...


---------------
When I find my code in tons of trouble, friends and colleagues come to me, speaking words of wisdom, "write in C"
mood
Publicité
Posté le 25-04-2006 à 10:38:35  profilanswer
 

n°1353349
hardrog
Play it fucking loud !!
Posté le 25-04-2006 à 10:38:57  profilanswer
 

Fait affficher ta requète avant de l'exécuter...


Message édité par hardrog le 25-04-2006 à 10:39:06
n°1353350
iannouchka
BraaAAhhHHhh
Posté le 25-04-2006 à 10:39:54  profilanswer
 

peut etre sans guillemets autour du nom de ton champ Question 2 :  
 
mysql_query("INSERT INTO comportement(Question2)VALUES ('1')" );


---------------
When I find my code in tons of trouble, friends and colleagues come to me, speaking words of wisdom, "write in C"
n°1353351
clemdups
Posté le 25-04-2006 à 10:41:25  profilanswer
 

iannouchka a écrit :

tu as la meme erreur de point virgule dans ton elseif.
Mais sinon faut voir...


C'est corrigé, j'ai corrigé partout maintenant :p  
 
Pour ce qui est de la requête :

Code :
  1. $result=mysql_query("INSERT INTO comportement('id','Question1','Question3') VALUES ('', '.$un.', '.$trois.')" );
  2. echo $result;


 
Mais rien ne s'affiche sur la page...

n°1353353
clemdups
Posté le 25-04-2006 à 10:43:21  profilanswer
 

iannouchka a écrit :

peut etre sans guillemets autour du nom de ton champ Question 2 :  
 
mysql_query("INSERT INTO comportement(Question2)VALUES ('1')" );


Je vois que j'ai encore bien des choses à apprendre... :p
Ca fonctionne à présent...
Merci BEAUCOUP, vraiment :) !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Erreur de parsing... J'deviens fou :)

 

Sujets relatifs
[Résolu] Un peu d'aide pour l'erreur 1064 de cette requêteerreur mysql_fetch_array()
Erreur COMIgnorer le rapport d'erreur d'Excel
erreur lors de compilation, calcul mais pq ????[C TCP/IP] Gestion d'erreur sur un send
erreur bizarreErreur de compilation
Probleme de compilation erreur, aider moi svpPB d'execution de classe, erreur lors de compilation etudiant en actio
Plus de sujets relatifs à : Erreur de parsing... J'deviens fou :)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR