C'est un vieux post, mais frustré à la recherche d'alternatives. Il est très regrettable que PDO ne le permet pas, surtout que le PHP et MySQL ont tendance à aller main dans la main.
Il y a malheureusement une faille dans l'aide fetchColumn() que vous ne pouvez plus utiliser l'ensemble des résultats (dans les faits) que le fetchColumn() déplace l'aiguille à la ligne suivante. Ainsi, par exemple, si vous avez un résultat similaire à celui de
- Fruit->Banane
- Fruit->Apple
- Fruit->Orange
Si vous utilisez fetchColumn (), vous pouvez trouver qu'il y a 3 fruits retourné, mais si maintenant vous faire une boucle par la suite, vous ne disposez que de deux colonnes, Le prix de fetchColumn() est la perte de la première colonne de résultats, juste pour savoir combien de lignes ont été retournés. Qui mène à la bâclée de codage, et totalement erreur en proie à des résultats si sa mise en œuvre.
Alors maintenant, à l'aide de fetchColumn (), vous avez à mettre en œuvre et entièrement nouvelle de l'appel et de la requête MySQL juste pour obtenir une nouvelle travailler ensemble de résultats. (qui je l'espère n'a pas changé depuis votre dernière requête), je sais que, peu probable, mais cela peut arriver. Aussi, la charge de la double requêtes sur toutes les lignes compter de la validation. Qui dans cet exemple est petit, mais l'analyse de 2 millions de lignes sur un joint de la requête, et non pas à un agréable prix à payer.
J'aime le PHP et soutenir tous ceux qui participent à son élaboration ainsi que de l'ensemble de la communauté à l'aide de PHP sur une base quotidienne, mais espère vraiment que c'est résolu dans les prochaines versions. C'est "vraiment" mon seul reproche avec PHP PDO, qui, autrement, est d'une grande classe.