Page 1 sur 1
problème variable POST dans SELECT
Posté : 15 déc. 2011, 17:00
par ploupy
Bonjour,
Voila mon problème :
$sql = "SELECT `id` , `name`
FROM `player`
WHERE `name` = 'ploupy'
";
$result = mysql_query($sql) or die ("");
while ($donnee = mysql_fetch_array($result)) {
echo '.$donnee["id"].'
La, aucun problème. Par contre lorsque je change cette ligne :
WHERE `name` = 'ploupy'
par cette ligne :
WHERE `name` = $login
cela ne marche pas.
ps :
$login = $_POST['LOGIN'];
je pense que cela viens du fait que $login n'est pas un nombre mais un string, bref j'ai une erreur sur la page (page vierge)
Re: problème variable POST dans SELECT
Posté : 15 déc. 2011, 17:05
par Mazarini
Si tu fais un echo de $sql, tu verras que ta requete est devenu : where login = Youpi au lieu de where login = 'Youpi'
Re: problème variable POST dans SELECT
Posté : 15 déc. 2011, 17:07
par ploupy
bonjour , merci pour ta réponse mais je n'ai pas compris ??
aucun de mes champs se nomes 'login'
'ploupy' c'est juste un exemple.
j'ai un soucis quand je met une variable post
Re: problème variable POST dans SELECT
Posté : 15 déc. 2011, 17:15
par To1n00
Salut,
Ce que veut dire mazarini, c'est qu'en écrivant :
WHERE `name` = $login
Tu n'a plus de quote qui encadre ton login.
il faut donc que tu les rajoute dans ta requête.
Comme ceci par exemple :
WHERE `name` = '".$login."'";
Ton hypothèse de départ était donc la bonne.
Re: problème variable POST dans SELECT
Posté : 15 déc. 2011, 17:19
par Mazarini
$sql = "SELECT `id` , `name` FROM `player` WHERE `name` = '$login' "
Il y a remplacement de la variable par sa valeur. Il faut donc mettre les quotes autour de la variable de la même façon que tu les avais mis autour de ploupy avant de le remplacer par une variable.
Edit : ton analyse du problème était tout a fait correct comme dit si dessus. Il faut que tu comprennes que le $sql contient la chaine de caractères avec l'ordre et qu'il n'y a pas plus de lien avec la variable une fois la chaine faite (pas sur d'être plus clair^^). C'est différent de certains langages ou l'on lie des variables avec des requetes (ce qui peut aussi etre fait avec php).
Re: problème variable POST dans SELECT
Posté : 15 déc. 2011, 17:22
par ploupy
non.
cela me fait une erreur
j'ai essai
WHERE `name` = '".$login."'".
et ca aussi
WHERE `name` = '".$login."'"
car je ne savais pas si le . était ta ponctuation ou du code , mais j'ai une erreur !!
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING
Re: problème variable POST dans SELECT
Posté : 15 déc. 2011, 17:28
par To1n00
Cette erreur est renvoyé par ton Echo je suppose non ?
Pourquoi encadre tu ton echo avec des quotes ....?
Ceci suffit : echo $donnee["id"];
Re: problème variable POST dans SELECT
Posté : 15 déc. 2011, 17:28
par ploupy
Re: problème variable POST dans SELECT
Posté : 15 déc. 2011, 17:30
par Mazarini
manque le ; à la fin ?
(je l'ai oublié aussi)