Aller au contenu

Sujets conseillés

Posté

Bonjour,

Dans une table d'une base de données, j'ai nommé un champ "unique". Or, le mot "unique" fait partie du "vocabulaire" utilisé pour les requetes. J'ai donc une erreur si je l'utilise ainsi :

SELECT * FROM statuts WHERE unique=1

J'ai contourné le problème en écrivant :

SELECT * FROM statuts s WHERE s.unique=1

Y-a-til d'autres solutions ?

Merci :)

PS : je crois que je vais renommer mon champ quand même... :boude:

Posté

Bonjour,

Essaie ceci :

SELECT * FROM statuts WHERE `unique` = 1

ou

SELECT * FROM statuts WHERE [unique] = 1

Mais pas sur que ca passe sur Mysql pour la seconde solution... je crois que c'est que sur SQL Serveur...

:)

Portekoi

Posté

Il est toujours bon d'utiliser les fameux ``

Si tu as un nom de champs avec un - tu auras le meme problème.

Webadev

Posté

Voila la sintax que j'utise en permanance (question d'habitude):

SELECT * FROM `table` WHERE `champ` = '$valeur'

Posté

Le mieux est encore de ne pas utiliser les noms réservés, ce peut être source de problème futur...

xpatval

Posté
Le mieux est encore de ne pas utiliser les noms réservés, ce peut être source de problème futur...

xpatval

<{POST_SNAPBACK}>

Je dirais plutot qu'il est preferable de toujours utiliser les quotes, car rien ne te garantie que le nom d'une table que t'utilise aujourd'hui ne sera pas un mot reserve demain ...

Lolo

Posté

En fait, le codage en lui-même doit (devrait) être le plus correct possible:

SELECT * FROM `table` WHERE `champ` = '$valeur'

devrait s'écrire ainsi:

SELECT * FROM `table` WHERE `champ` = '". $valeur ."'";

xpatval

Posté

Merci pour ces précisions :)

Pour info, la syntaxe

select * FROM toto WHERE [titi]=1

ne fonctionne pas avec mysql...

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...