PHP/SQL - Probleme de requete SQL

xiii34 Messages postés 38 Statut Membre -  
croy Messages postés 457 Statut Membre -
Bonjour à tous.

J'aimerai savoir si j'ai le droit de faire ca :

$query="select Cle from imprimante where Lieu=$choix order by Lieu";


pour une requete SQL.

Etant donné que "$choix" est une variable que je passe par post de la page d'avant.

Le requete ne marche pas, donc soit je n'ai pas le droit de mettre des variables dans une requete SQL, soit j'ai fait une bonne erreur de synthaxe ;-))

Merci de votre aide..
A voir également:

12 réponses

kelbo
 
Ca fonctionne, merci beaucoup :)
1
croy Messages postés 457 Statut Membre 114
 
Pense à marquer ce fil comme résolu.
0
grofwa Messages postés 440 Statut Membre 479
 
Salut,

oui tu as fait une erreur de syntaxe.
Ajoute des simples quotes avant et après ta variable (car c'est une string).

Michael.

Ne vous souciez pas de n'être pas remarqué ; cherchez 
plutôt à faire quelque chose de remarquable [Confucius]
0
LeSousss Messages postés 150 Statut Membre 15
 
Slt,
tu ne peut pas mettre de variable dans une chaine de caractere, pour faire ca il faut utiliser le . qui sert a concaténer les chaines en php :

$query="select Cle from imprimante where Lieu=" . $choix order . "by Lieu";
Essaye comme çà
0
grofwa Messages postés 440 Statut Membre 479
 
Bien sur que si, tu peux mettre une variable dans une string, pour autant qu'elle soit délimitée par des doubles-quotes.
Mais la solution ci-dessus est également correcte si et seulement si tu mets des simples-quotes autour de ta variable.

Michael.

Ne vous souciez pas de n'être pas remarqué ; cherchez 
plutôt à faire quelque chose de remarquable [Confucius]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
LeSousss Messages postés 150 Statut Membre 15
 
Oui, c'est exacte, je doit avouer que je n'y avait pas pensé
0
xiii34 Messages postés 38 Statut Membre
 
Super cool...
Je suis un peu le roi des erreurs de synthaxe ;-)))
Merci a vous.....
0
grofwa Messages postés 440 Statut Membre 479
 
Y a pire et puis personne n'est à l'abri !

Bon courage

Michael.

Ne vous souciez pas de n'être pas remarqué ; cherchez 
plutôt à faire quelque chose de remarquable [Confucius]
0
LeSousss Messages postés 150 Statut Membre 15
 
Du coup t'a le choix pour ta solution
0
kelbo
 
J'ai également un problème du genre en ce qui concerne des variables dans une requête sql.

$retour = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT $j,$k');

Je ne sais pas non plus si j'ai le droit de faire ça ou si je suis simplement peu doué en ce qui concerne la syntaxe.

Merci ^^'
0
kelbo
 
Lorsque j'utilise la syntaxe suivante : $retour = mysql_query("SELECT * FROM news ORDER BY id DESC LIMIT \"$j\",\"$k\"") or die(mysql_error());

La valeur des variables est récupérée mais l'erreur suivante m'est indiquée : Erreur de syntaxe près de '"0","5"' à la ligne 1

0 et 5 étant les valeurs de base de mes variables
0
croy Messages postés 457 Statut Membre 114
 
$retour = mysql_query("SELECT * FROM news ORDER BY id DESC LIMIT '" . $j ."','" . $k . "'") or die(mysql_error());

Comme ceci ca doit marcher.

En zoomant sur une partie de la ligne :

...LIMIT ' " . $j . " ',' " . $k . " ' "
0
kelbo
 
Merci de ton aide mais j'ai toujours le même problème.

Erreur de syntaxe près de ''0','5'' à la ligne 1
0
croy Messages postés 457 Statut Membre 114
 
Autant pour moi : avec LIMIT il ne faut pas encadrer les param par des quotes car ce sont nécessairement des numériques.

Remplace ce que je t'ai indiqué par :

$retour = mysql_query("SELECT * FROM news ORDER BY id DESC LIMIT " . $j ."," . $k) or die(mysql_error());
0