2010-07-16 2 views

Répondre

13

Vous n'avez pas spécifié de paramètre fetch_style. Il renvoie FETCH_BOTH par défaut, qui est un tableau. Voici les options et comment le spécifier: http://php.net/manual/en/pdostatement.fetch.php

EDIT: En outre, il retourne toujours un tableau, même s'il n'y a qu'une seule colonne, car une ligne peut contenir plusieurs attributs. Vous pouvez utiliser FETCH_ASSOC, puis spécifier votre nom de colonne pour obtenir les données ou, si vous utilisez simplement fetch() comme vous l'avez fait, le tableau est indexé à la fois par le nom de la colonne et le numéro de colonne indexé 0.

+0

Qu'en est-il de la chose 0? D'où vient-il? Merci encore. –

+0

ooooooo je vois. Merci soryy pour la question de débutant: D –

+1

Essayez de faire votre requête à nouveau, sauf dire SELECT * FROM utilisateurs au lieu de SELECT utilisateurs UID FROM. le résultat (disons si vous avez deux colonnes dans votre table) devrait être quelque chose comme ceci: array 'UID' => chaîne '45' (longueur = 2) 0 => chaîne '45' (longueur = 2) OtherData1 => chaîne '12' (longueur = 3) 1 => chaîne '12' (longueur = 3) Où les troisième et quatrième lignes sont la deuxième colonne (les noms et les valeurs sont juste inventés par moi) Et il n'y aurait pas de StackOverflow si ce n'était pas pour les questions de débutant;) – rownage

2

Si vous voulez obtenir seulement la colonne, vous avez besoin de la méthode fetchColumn() de PDOStatement.

2

Le résultat est récupéré ligne par ligne, même si la ligne contient une seule colonne

Questions connexes