Syntaxe SQL

Petit nouveau ! | 7 Messages

27 août 2007, 13:35

Bonjour à tous,

Voilà, je pête un cable avec cette requete (problème de syntaxe) :

$query="select * from eval_'.$type.'_question where bidule='.$machin.' order by truc";

Sachant que dans ma BDD j'ai des tables du genre :

eval_machin_question
eval_truc_question
eval_bidule_question

donc ce qui bouge, c'est juste ce qu'il y a au milieu de la chaine...

Merci aux aideurs !

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

27 août 2007, 13:39

Bonjour,

Quel est le message d'erreur exact?
As-tu fait un echo de ta requète et l'as tu testée dans phpMyAdmin?
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 7 Messages

27 août 2007, 13:56

Merci de me répondre.

voici le message 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

en fait, dans cette requete :
$query="select * from eval_'.$societe.'_question
je veux que seul le $societe soit variable. eval_ et _question ne bougent pas...

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

27 août 2007, 14:03

Commence par afficher la requête générée.

Si la colonne bidule est un champs de type texte ou date, alors la valeur spécifiée doit être passée entre apostrophes ...
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

27 août 2007, 14:06

J'ai trouvé ton problème!

Tu as mixé maladroitement l'utilisation des guillemets doubles et simples.
Essaye comme ceci ça devrait marcher:
$query="select * from eval_".$type."_question where bidule=".$machin." order by truc";
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 7 Messages

27 août 2007, 14:13

Oh merci merci merci !!! Je supporte pas les ' les " et les . jm'en sors jamais ! merci pour ton coup de pouce et à très bientôt pour de nouvelles aventures syntaxiques ;)

ViPHP
ViPHP | 2287 Messages

27 août 2007, 14:16

Oh merci merci merci !!! Je supporte pas les ' les " et les . jm'en sors jamais ! merci pour ton coup de pouce et à très bientôt pour de nouvelles aventures syntaxiques ;)
A noter que certains éditeurs de code aident (beaucoup) plus que d'autres pour repérer rapidement ces problèmes... Sous windows j'utilise Editplus depuis des années et au niveau coloration syntaxique, pour le php, c'est vraiment un des meilleurs. Sinon, kate sous linux est lui aussi très efficace.
if(!@work()){ Nespresso(); } else { what(); }
______________________________