problème variable POST dans SELECT

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : problème variable POST dans SELECT

Re: problème variable POST dans SELECT

par Mazarini » 15 déc. 2011, 17:30

manque le ; à la fin ?
(je l'ai oublié aussi)

Re: problème variable POST dans SELECT

par ploupy » 15 déc. 2011, 17:28

[quote="Mazarini"]
$sql = "SELECT `id` , `name` FROM `player` WHERE `name` = '$login' "
J'y avais même pas pensé !!!!


Et bien je te remercie beaucoup ça marche.
:P :P :P :P :P :P :P

Re: problème variable POST dans SELECT

par To1n00 » 15 déc. 2011, 17:28

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

par ploupy » 15 déc. 2011, 17:22

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

par Mazarini » 15 déc. 2011, 17:19

$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

par To1n00 » 15 déc. 2011, 17:15

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

par ploupy » 15 déc. 2011, 17:07

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

par Mazarini » 15 déc. 2011, 17:05

Si tu fais un echo de $sql, tu verras que ta requete est devenu : where login = Youpi au lieu de where login = 'Youpi'

problème variable POST dans SELECT

par ploupy » 15 déc. 2011, 17:00

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)