Page 1 sur 1
Problème avec transmission de variable (via requete)
Posté : 05 nov. 2007, 15:32
par Akoun
Bonjour,
J'ai ce code dans ma page :
$retour = mysql_query("SELECT * FROM articles WHERE membre= ".$_SESSION['pseudo']." ORDER BY id DESC") or die(mysql_error());
Quand j'ouvre la page PHP avec vampserver, ça m'affiche une partie de la page (mes includes et le tableau dans lequel j'affiche normalement les données extraites grâce à cette requete) ainsi que le joli message suivant :
Unknown column 'membre' in 'where clause'
Je n'ai pas trouvé d'où venait le problème.
Merci d'avance pour vos réponses...
Posté : 05 nov. 2007, 15:35
par h0_noMan
Verifies que dans ta table 'articles' tu as un champ nommé 'membre'
Posté : 05 nov. 2007, 15:36
par Truc
Unknown column 'membre' in 'where clause'
Faut lire le message le comprendre et rien de plus... faut pas en avoir peur
Es tu sur d'avoir un champ "membre" dans la table "articles" ?
De plus si $_SESSION['pseudo'] est de type chaine de caractères alors il manque des quotes autour de celle-ci.
Posté : 05 nov. 2007, 15:39
par Akoun
1) Es tu sur d'avoir un champ "membre" dans la table "articles" ?
2) De plus si $_SESSION['pseudo'] est de type chaine de caractères alors il manque des quotes autour de celle-ci.
1) Oui, le champ "membre" est présent dans ma table "articles"
2) Euh...quel est le sens de "chaine de cractère" ici ? Par contre les quotes je ne vois pas du tout ce que c'est...
Posté : 05 nov. 2007, 15:51
par Truc
Mouarf...
"chaine de cractères" = "String" = "un mot / phrase"
"quotes" = apostrophes = '
Posté : 05 nov. 2007, 15:59
par Akoun
Dans mon code, $_SESSION['pseudo'] contient un pseudo (ex : Akoun, Zélos, etc...)
Quant aux ' j'ai essayé en les mettant, ça n'a rien changé au problème.
Posté : 05 nov. 2007, 16:09
par Truc
Rappel
- poster le schéma des tables pertinentes à votre requête sous la forme d'une instruction "CREATE TABLE"
Posté : 05 nov. 2007, 17:09
par h0_noMan
$retour = mysql_query("SELECT * FROM articles WHERE membre= '".$_SESSION['pseudo']."' ORDER BY id DESC") or die(mysql_error());
Je suppose que membre est une chaine de caractère et non un nombre.
Donc il faut mettre les guillement entre ta valeur
// Pour un nombre int() salaire
WHERE salaire=2500
// Pour une chaine de caractere char(10) salaire
WHERE salaire='2500'