Problèmes sql select php

Résolu/Fermé
tete0148
Messages postés
411
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.

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
411
Date d'inscription
mercredi 19 décembre 2012
Statut
Membre
Dernière intervention
15 juin 2017
88
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
543
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
411
Date d'inscription
mercredi 19 décembre 2012
Statut
Membre
Dernière intervention
15 juin 2017
88
19 mars 2014 à 16:00
merci
0