php variable dans une requête sql
J'ai ceci:
$result = mysql_query("SELECT * FROM animals WHERE hand= " .$_SESSION['SESS_HAND']. ");
Mais indique toujours "Parse error: Parse error, expecting T_STRING' or
T_VARIABLE' ou `T_NUM_STRING"
- Réalisez-vous que vous avez un
"
juste avant votre);
à la fin de la chaîne? Faisant échapper.
Vous devez vous connecter pour publier un commentaire.
Toujours échapper à des variables de chaîne :
La raison que votre requête ne marche pas est parce que la valeur de votre OÙ en est pas entre guillemets simples.
EDIT: Quentin est juste trop, vous n'avez pas fermer les guillemets à la dernière parenthèse ;).
Cela rendrait le travail de requête:
Mais comme a1ex07 points, vous devriez toujours s'échapper de variables! Requête ci-dessus est vulnérable aux injections MySQL. Dessous montre l'exemple de la bonne façon en s'échappant de la variable, et à mon avis, est un peu plus lisible le code ;).
essayer:
Aussi, en faisant cela, vous pouvez déboguer votre requête et de voir exactement ce qu'il fait en SQL par écrit:
Il donne ce message d'erreur parce que vous ne jamais terminer la chaîne que vous essayez d'ajouter après les données de la session:
");
.Ne pas construire des requêtes SQL en les écrasant à l'ensemble des chaînes de bien. Utiliser les requêtes préparées et des requêtes paramétrées.
Problème:
Solution: