Erreur syntaxe condition WHERE dans requete M
RomRoz
-
RomRoz -
RomRoz -
Bonjour,
Je dois mettre à jour une table MySQL dans un fichier php.
Voici la requete :
mysql_select_db($database_CC, $CC);
$action = mysql_query("UPDATE jos_cadeau SET ENVOYE = 1 WHERE CODE_CADEAU = '$lecode'", $CC) or die(mysql_error());
Mon problème est le suivant :
bien que toutes les variables soient bien définies ($lecode = 2 etc...), l'action ne se déroule pas, car '$lecode' est interprété comme '2' et non pas comme 2. Si j'enlève les guillemets simples, donc $lecode, j'ai une erreur de syntaxe et donc ça plante. Je suis pas très bon en syntaxe, mais en bidouillant d'habitude j'y arrive, mais là, pas du tout, donc j'ai vraiment besoin de vous.
Merci
Je dois mettre à jour une table MySQL dans un fichier php.
Voici la requete :
mysql_select_db($database_CC, $CC);
$action = mysql_query("UPDATE jos_cadeau SET ENVOYE = 1 WHERE CODE_CADEAU = '$lecode'", $CC) or die(mysql_error());
Mon problème est le suivant :
bien que toutes les variables soient bien définies ($lecode = 2 etc...), l'action ne se déroule pas, car '$lecode' est interprété comme '2' et non pas comme 2. Si j'enlève les guillemets simples, donc $lecode, j'ai une erreur de syntaxe et donc ça plante. Je suis pas très bon en syntaxe, mais en bidouillant d'habitude j'y arrive, mais là, pas du tout, donc j'ai vraiment besoin de vous.
Merci
A voir également:
- Erreur syntaxe condition WHERE dans requete M
- Excel cellule couleur si condition texte - Guide
- Erreur upes 1025 - Forum Téléviseurs
- Erreur t32 ✓ - Forum Livebox
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Une erreur s'est produite instagram ✓ - Forum Instagram
6 réponses
Salut,
Si code_cadeau est un nombre dans ta base il ne faut pas de guillemets, c'est certain.
Comment tu affectes $lecode ?
Si code_cadeau est un nombre dans ta base il ne faut pas de guillemets, c'est certain.
Comment tu affectes $lecode ?
effectivement, $lecode est un nombre, dans ma base Mysql, il est au format : INT(11) donc Integer.
$lecode est définit comme suit (c'est un peu compliqué)
$lecode = $_POST['CODE'];
où $_POST['CODE'] provient d'un champ masqué d'un formulaire, qui prend une valeur nombre.
Donc pour moi, $lecode a bien une valeur nombre, c'est un peu pour ça que je bloque...
Merci de t'occuper de mon cas, en tout cas
$lecode est définit comme suit (c'est un peu compliqué)
$lecode = $_POST['CODE'];
où $_POST['CODE'] provient d'un champ masqué d'un formulaire, qui prend une valeur nombre.
Donc pour moi, $lecode a bien une valeur nombre, c'est un peu pour ça que je bloque...
Merci de t'occuper de mon cas, en tout cas
Essaye:
mysql_select_db($database_CC, $CC); $requete = "UPDATE jos_cadeau SET ENVOYE = 1 WHERE CODE_CADEAU =".$lecode; $action = mysql_query($requete, $CC) or die(mysql_error());
J'obtiens une 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 '=6' at line 1
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 '=6' at line 1
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Si tu 'montes' ta requête dans une variable avant de la lancer avec mysql_query, et que tu fais un echo, tu obtiens quoi comme requête ?
montée ? tu veux dire $requete ="UPDATE etc..."; ? puis $action = mysql_query($requete, $CC) ?
Si tel est le cas : si je mets WHERE CODE_CADEAU ='$lecode', j'obtiens : WHERE CODE_CADEAU = '6' (6 étant la bonne valeur), et si je mets WHERE CODE_CADEAU =$lecode, j'ai bien WHERE CODE_CADEAU =6 !!! Donc pour moi tout est OK.
J'ai toujours pas trouvé, le problème c'est qu'en plus, je peux pas tellement faire autrement !
Merci encore...
Si tel est le cas : si je mets WHERE CODE_CADEAU ='$lecode', j'obtiens : WHERE CODE_CADEAU = '6' (6 étant la bonne valeur), et si je mets WHERE CODE_CADEAU =$lecode, j'ai bien WHERE CODE_CADEAU =6 !!! Donc pour moi tout est OK.
J'ai toujours pas trouvé, le problème c'est qu'en plus, je peux pas tellement faire autrement !
Merci encore...