Problèmes sql select php

Résolu/Fermé
tete0148 Messages postés 413 Date d'inscription mercredi 19 décembre 2012 Statut Membre Dernière intervention 15 juin 2017 - 19 mars 2014 à 14:20
cyril1982 Messages postés 110 Date d'inscription vendredi 7 mars 2014 Statut Membre Dernière intervention 19 septembre 2018 - 19 mars 2014 à 16:43
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 vendredi 7 mars 2014 Statut Membre Dernière intervention 19 septembre 2018 12
19 mars 2014 à 15:38
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 mercredi 19 décembre 2012 Statut Membre Dernière intervention 15 juin 2017 89
19 mars 2014 à 16:01
merci !
0
cyril1982 Messages postés 110 Date d'inscription vendredi 7 mars 2014 Statut Membre Dernière intervention 19 septembre 2018 12
19 mars 2014 à 16:43
De rien ;)
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
19 mars 2014 à 15:42
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 mercredi 19 décembre 2012 Statut Membre Dernière intervention 15 juin 2017 89
19 mars 2014 à 16:00
merci
0