Problème afficher toutes les valeurs d'une colonne

Eléphanteau du PHP | 10 Messages

03 nov. 2006, 11:14

Bonjour,

Voila je suis débutant en php et je bloque sur un problème qui doit être tout bête mais je n'arrive pas à le résoudre...

Donc j'ai une base de données avec un tableau qui s'appelle autorisation.
Il contient une colonne qui s'apelle "pseudo" qui contient plusieurs lignes (les différents pseudos).

Le problème c'est que je veux afficher cette liste de pseudo .Voici mon code:

Code : Tout sélectionner

$connexion = mysql_connect("localhost","root","")//se connecte au serveur mysql or die ("Connexion à la base mysql échouée"); $db = mysql_select_db("base", $connexion)//se connecte à la base de données or die ("Connexion à la base de donnée impossible"); $req = "SELECT 'pseudo' FROM autorisation " or die ("requete impossible"); $res = mysql_query($req) or die ("Impossible d'éxecuter la requête"); while ($val = mysql_fetch_array($res, MYSQL_ASSOC)) { echo $val['pseudo']; }
Et voici ce qu'il me retourne:
pseudopseudopseudo
Donc il me retourne le nom de la colonne et non la valeur de ses lignes.
Comment faire ??
Merci d'avance.

Eléphant du PHP | 193 Messages

03 nov. 2006, 12:36

Remplace

Code : Tout sélectionner

SELECT 'pseudo'
par

Code : Tout sélectionner

SELECT pseudo
pour voir ce que ça donne.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

03 nov. 2006, 12:51

Avec les apostrophes, tu récupères effectivement la chaine caractère 'pseudo' autant de fois que tu as d'enregistrement dans ta table :) En sql, on utilise les apostrophes uniquement pour délimiter les chaines de caractères. Avec MySQL, ces apostrophes ci : ` permettent de protéger les noms des champs ou des tables lorsqu'ils s'agit de mot clé pour qu'il ne soient pas confondus avec des instructions sql, mais mieux vaut bien choisir ses nom que de les utiliser ;)

Tu peux également retirer le or die à cet endroit :
$req = "SELECT 'pseudo' FROM autorisation " 
         or die ("requete impossible"); 
Il n'a aucun effet puisque tu affectes juste une valeur à une variable, cela ne génèrera jamais d'erreur. Le conrôle sur la cohérence de ta requête ne se fera qu'à l'exécution de celle-ci dans le mysql_query() :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 10 Messages

03 nov. 2006, 14:08

Merci ça marche!
C'est vrai que c'était pas compliqué !
merci encore.