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 :wink:

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'