PHP/SQL - Probleme de requete SQL

Fermé
xiii34 Messages postés 38 Date d'inscription jeudi 1 juillet 2004 Statut Membre Dernière intervention 4 août 2004 - 15 juil. 2004 à 16:01
croy Messages postés 453 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 23 octobre 2012 - 25 févr. 2008 à 11:30
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

Ca fonctionne, merci beaucoup :)
1
croy Messages postés 453 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 23 octobre 2012 114
25 févr. 2008 à 11:30
Pense à marquer ce fil comme résolu.
0
grofwa Messages postés 440 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 21 juillet 2006 479
15 juil. 2004 à 16:05
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 149 Date d'inscription vendredi 30 avril 2004 Statut Membre Dernière intervention 23 juillet 2010 15
15 juil. 2004 à 16:06
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 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 21 juillet 2006 479
15 juil. 2004 à 16:08
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 149 Date d'inscription vendredi 30 avril 2004 Statut Membre Dernière intervention 23 juillet 2010 15
15 juil. 2004 à 16:10
Oui, c'est exacte, je doit avouer que je n'y avait pas pensé
0
xiii34 Messages postés 38 Date d'inscription jeudi 1 juillet 2004 Statut Membre Dernière intervention 4 août 2004
15 juil. 2004 à 16:10
Super cool...
Je suis un peu le roi des erreurs de synthaxe ;-)))
Merci a vous.....
0
grofwa Messages postés 440 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 21 juillet 2006 479
15 juil. 2004 à 16:12
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 149 Date d'inscription vendredi 30 avril 2004 Statut Membre Dernière intervention 23 juillet 2010 15
15 juil. 2004 à 16:13
Du coup t'a le choix pour ta solution
0
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
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 453 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 23 octobre 2012 114
23 févr. 2008 à 15:03
$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
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 453 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 23 octobre 2012 114
25 févr. 2008 à 10:29
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