mysql phenomene paranormaux avec insert into

mysql phenomene paranormaux avec insert into - PHP - Programmation

Marsh Posté le 28-05-2006 à 02:42:40    

j'ai un probleme assez etrange.
 
sur la base mysql j'ai un tableau avec 4 champs : identifiant, password, argent, force.
 
 
 
quand je fais ça :
$xxxx="INSERT INTO mabase (identifiant,password,argent) VALUES ('$identifiant','$mdp','0')";
$exec=mysql_query($xxxx);
 
ça marche une ligne avec 4 valeur est ajouté (la derniere valeur est 0 c'est la valeur par defaut) !
 
par contre quand je fais  
$xxxx="INSERT INTO mabase (identifiant,password,argent,force) VALUES ('$identifiant','$mdp','0','0')";
$exec=mysql_query($xxxx);
 
ben ça marche pas... je n'ai pas d'erreur mysql mais aucune ligne n'est ajouté dans la base...
 
 
 faut qu'on m'explique pouquoi... mon hebergeur est multimania, et je suis pas fou j'ai fais et refais le test mais rien n'a faire, je comrend pas ://

Reply

Marsh Posté le 28-05-2006 à 02:42:40   

Reply

Marsh Posté le 28-05-2006 à 04:10:37    

Règles de bases du debug mysql :
1. Utiliser le mysql_error() pour avoir une idée de ce qui cloche (parce que le "je n'ai pas d'erreur mysql", excuse moi si j'ai un doute :D).
2. faire un echo de la requête, histoire de voir s'il n'y a pas une erreur due aux variables qui s'est perdue en route.
 
Au minimum :)

Reply

Marsh Posté le 28-05-2006 à 15:54:47    

ah pardon oui j'ai pas utiliser le mysql error. effectivement j'ai bien une erreur mais etrange.. je comprend pas plus.
 
je m'inscris en tant que identifiant : qqq et mot de passe qqq et voila ce que ça me donne :
 
 
Erreur SQL !INSERT INTO mabase (identifiant,password,argent,force) VALUES ('qqq','qqq','0','0')
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 'force) VALUES ('qqq','qqq','0','0')' at line 1  
 
 
que dois-je faire docteur  :cry:  :cry:  moi j'y comprend plus rien...
 
pourtant quand je regarde du coté de ma base mysql mabase comporte bien 4 champs: identifiant password argent et force....
j'ai meme supprimer ma base pour la recrer mais toujours pareil..
ça marche quand les lignes de code sont :
$xxxx="INSERT INTO mabase (identifiant,password,argent) VALUES ('$identifiant','$mdp','0')";  
$exec=mysql_query($xxxx) or die('Erreur SQL !'.$xxxx.'<br>'.mysql_error());
 
mais ça marche plus quand c'est  
$xxxx="INSERT INTO mabase (identifiant,password,argent,force) VALUES ('$identifiant','$mdp','0','0')";  
$exec=mysql_query($xxxx) or die('Erreur SQL !'.$xxxx.'<br>'.mysql_error());


Message édité par Profil supprimé le 28-05-2006 à 15:58:48
Reply

Marsh Posté le 28-05-2006 à 16:18:05    

ah aparemment j'ai trouvé une parade.
 
j'ai renommé mes  champs de mabase en identifiant password argent et forc
 
et j'ai mis $xxxx="INSERT INTO mabase (identifiant,password,argent,forc) VALUES ('$identifiant','$mdp','0','0')";
 
et ça marche  :ouch:  :ouch:  :ouch:  
 
donc si j'ai bien compris le mot force est un mot reservé ?  :sweat:  bon ok on vas faire avec, c'est vraiment space... j'ai gaspillé des heures pour conclure ça :sweat:  :sweat:

Reply

Marsh Posté le 28-05-2006 à 16:24:34    

Bon, apparement, force est un mot clé réservé par mysql, protège le dans la requête et ça devrait passer.

Code :
  1. insert into ...,`force`) values...

Reply

Marsh Posté le 17-08-2012 à 18:51:36    

J'avais le même problème résolue grâce a ce post il semble que le mot force pose problème c'est même sur... Le mot precision aussi car j'ai changé le mot force par forceP et ensuite j'avais la même erreur avec le mot precision ... pourquoi je ne sais pas!
Merci encore pour ce post sa fait 3 jours que je cherche ^^!

Reply

Marsh Posté le 19-08-2012 à 11:00:08    

Des mots réservés, probablement. Dans ce cas, faut mettre le mot réservé représentant un nom de champ entre `.
 
Ex : `force`. Et là, ça marche ;)

Message cité 1 fois
Message édité par rufo le 19-08-2012 à 11:01:29

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 27-08-2012 à 08:59:29    

rufo a écrit :

Des mots réservés, probablement. Dans ce cas, faut mettre le mot réservé représentant un nom de champ entre `.
 
Ex : `force`. Et là, ça marche ;)


mega burned :o

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed