Problème avec transmission de variable (via requete)

Petit nouveau ! | 3 Messages

05 nov. 2007, 15:32

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...

Eléphant du PHP | 445 Messages

05 nov. 2007, 15:35

Verifies que dans ta table 'articles' tu as un champ nommé 'membre'

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

05 nov. 2007, 15:36

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.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Petit nouveau ! | 3 Messages

05 nov. 2007, 15:39

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...

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

05 nov. 2007, 15:51

Mouarf...

"chaine de cractères" = "String" = "un mot / phrase"
"quotes" = apostrophes = '

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Petit nouveau ! | 3 Messages

05 nov. 2007, 15:59

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.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

05 nov. 2007, 16:09

Rappel
  • poster le schéma des tables pertinentes à votre requête sous la forme d'une instruction "CREATE TABLE"

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 445 Messages

05 nov. 2007, 17:09

$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'