cs_Arnauti
Messages postés392Date d'inscriptionmercredi 24 novembre 2004StatutMembreDernière intervention26 septembre 2009
-
18 févr. 2006 à 20:31
cs_AlexN
Messages postés694Date d'inscriptionlundi 5 décembre 2005StatutMembreDernière intervention 8 janvier 2014
-
19 févr. 2006 à 12:41
Bonjour a tous, je veux insérer quelque chose dans ma base de donnée mais il y a un bug et je ne comprends pas du tout pourquoi ca ne marche pas. Voici mon code :
<hr size="2" width="100%">$req = mysql_query('INSERT INTO ressources (pseudo, fer, bois, pierre, or, nourriture, paysans) VALUES ("'.$_POST['pseudo'].'", "1000", "1000", "1000", "100", "100", "10") ') or die(mysql_error()); <hr size="2" width="100%">La connection a la base a déjà été faite.
Voici l'erreur affiché :
<hr size="2" width="100%">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 'or, nourriture, paysans) VALUES ("Pseudo", "1000",
"1000", "1000", "100", "100", "' at line 1
<hr size="2" width="100%">J'espère que vous allez pouvoir m'aider ...
A++
<hr size="2" width="100%">Si un des membres à poster une reponse qui convient, accepter là !
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 19 févr. 2006 à 02:58
Nan mais c'est tout con en faite :D
Ca ne vient pas de ses variables, ni des '' ou des "". Mais d'une chose plus subtil.
Analysons le code d'erreur :
"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 'or, nourriture,
paysans)"
near or. L'erreur est ici. Et oui, il y a ambiguité dans ta requète SQL. "or" sans '' indique ici une condition en SQL et non un nom de champ. Il faut donc soit que tu renommes ton champ, soit je crois en lui mettant des '' mais j'en suis moins sur.
Voila où est l'erreur. J'avais eu le même problème sur un autre nom de champs... mais je sais plus lequel.
cs_AlexN
Messages postés694Date d'inscriptionlundi 5 décembre 2005StatutMembreDernière intervention 8 janvier 201419 18 févr. 2006 à 21:50
Je ne suis pas certain que la syntaxe sql accepte les guillemets
doubles comme delimiteurs de chaine, d'autre part les valeurs
numériques n'ont pas besoin d'être encadrées.
Essayes :
// Verifier que la variable post est réellement la
if ( isset ($_POST['Pseudo'] && !is_null($_POST['Pseudo'] ) {