SELECT...

Mammouth du PHP | 959 Messages

13 mai 2008, 23:01

Bonjour,

Je sais pas si je deviens fous mais.... :shock:

ma requête avec le php... :
$nombre_remarques = mysql_query('SELECT for, num_com FROM commentaires_com WHERE for="par" AND num_com="41275"') or die( 'Erreur MySQL nb rem : <br />'.mysql_error() );
$nombre_remarques_final = mysql_num_rows($nombre_remarques);
si je fais :
echo 'SELECT for, num_com FROM commentaires_com WHERE for="par" AND num_com="41275"';
j'obtient :
SELECT for, num_com FROM commentaires_com WHERE for="par" AND num_com="41275"
L'erreur MySQL :
Erreur MySQL nb rem :
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 'for, num_com FROM commentaires_com WHERE for="par" AND num_com="41275"' at line 1
Structure de la table commentaires_com :
CREATE TABLE `commentaires_com` (
`id` int(3) NOT NULL auto_increment,
`for` varchar(10) NOT NULL,
`valide` int(1) NOT NULL default '0',
`num_com` varchar(10) NOT NULL,
`commentaire` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB ;
Merci à vous ! :) :shock:

Mammouth du PHP | 19672 Messages

13 mai 2008, 23:06

"for" est aussi un mot réservé en SQL, mauvaise idée de l'utiliser.

Si tu veux le conserver, essaye comme ceci :

Code : Tout sélectionner

SELECT `for`, num_com FROM commentaires_com WHERE for="par" AND num_com=41275
Au passage, pas besoin des guillemets autour d'un entier ;)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ViPHP
ViPHP | 5924 Messages

13 mai 2008, 23:06

Ah, une question bien formulée, bien documentée, ca fait plaisir :)

La réponse est simple, 'for' est un mot réservé, je t'invite à consulter cette page pour plus d'informations : http://dev.mysql.com/doc/refman/5.0/fr/ ... words.html


Edit : grrrrrr, Cyrano je t'aurais :evil:

Mammouth du PHP | 959 Messages

13 mai 2008, 23:13

Wouaaaaaaaw :lol:

Ah ben merci !

ça me fais bizarre d'avoir passer 30 minutes à relire ma requête juste pour ce fichu mot à 3 lettres mdr

:D

Mammouth du PHP | 19672 Messages

13 mai 2008, 23:17

Edit : grrrrrr, Cyrano je t'aurais :evil:
C'est la PHPaff ? :mrgreen:
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 959 Messages

13 mai 2008, 23:24

lol xD

Mais Sékiltoyai à été plus gentil parce-qu'il m'a filé le lien :langue: xD