Problèmes sql select php

Résolu
tete0148 Messages postés 413 Date d'inscription   Statut Membre Dernière intervention   -  
cyril1982 Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je poste ce message pour deux problèmes que j'ai avec le fonction SELECT de php.

J'ai le code suivant:
query('SELECT display_pseudo FROM users');
	$pseudos = $reponse->fetchAll(PDO::FETCH_ASSOC);

le soucis est ce code, après un var_dump de la variable $pseudos, me retourne non pas le tableau pseudos avec les pseudos à la suite, mais un tableau dans ce tableau.
Cela pose soucis car pour vérifier que le pseudo existe déjà je veux faire if($_POST['pseudo']==$pseudos['display_pseudo'])
or je dois utiliser $pseudos[0]['display_pseudo'] ou $pseudos[1]['display_pseudo'] etc.. je ne peux donc pas vérifier.

Le second problème est que quand j'ajoute WHERE dans ma requête SELECT, la variable $reponse vaut boolean false, au lien de $bdd->query('SELECT display_pseudo FROM users WHERE display_pseudo = mon_speudo');

Merci de votre aide.
A voir également:

2 réponses

cyril1982 Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   12
 
Bonjour,

C'est normal que le retour de la méthode fetchAll soit un tableau de tableau.
En effet, il est possible de récupérer plusieurs champs dans un select, une ligne de résultat est donc stockée dans un tableau.

Cela te renvoie false car il y a une erreur dans ta requête sql, tu n'as pas mis ton pseudo entre quote :

$bdd->query('SELECT display_pseudo FROM users WHERE display_pseudo = \'mon_speudo\''); 


Voilà !
1
tete0148 Messages postés 413 Date d'inscription   Statut Membre Dernière intervention   89
 
merci !
0
cyril1982 Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   12
 
De rien ;)
0
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Salut,

Ta première requête retourne forcément plusieurs résultats puisque tu ne demandes pas le pseudo d'un utilisateur précis, mais tous les pseudos de la table utilisateur.

Si l'exécution de ta deuxième requête te retourne false, c'est qu'elle est syntaxiquement incorrect. Vérifie comment tu construits ta requête sql.

Bonne journée
0
tete0148 Messages postés 413 Date d'inscription   Statut Membre Dernière intervention   89
 
merci
0