Page 1 sur 1

Compter le nombre de ligne sélectionnés par SELECT (pdo)

Posté : 21 déc. 2008, 23:15
par saturn1
Bonjour j'ai oublier et je ne retrouve plus la méthode avec pdo pour trouver le nombre de ligne que l'on a sélectionner avec une requête de type query avec pdo.
Merci de votre aide !

Posté : 22 déc. 2008, 02:21
par Calimero

Posté : 24 déc. 2008, 01:49
par saturn1
Tu m'as pris pour un noob?
Oui c'est vrai j'en suis un.
J'ai l'ai déjà lu en partie et j'ai vu
http://www.php.net/manual/fr/pdostatement.rowcount.php
Mais c'est pour les exec.
Donc je suis obliger de faire un COUNT?
Erf la dech.. -_-
merci

Posté : 24 déc. 2008, 12:30
par luc@s
bah lorsque tu appelles la méthode fetch, et que tu construis le tableau de résultats, tu fais :
<?php $size = count($results); ?>

re

Posté : 25 déc. 2008, 16:27
par saturn1
Oui j'ai essayé avec une requête
SELECT membre_pseudo from membre WHERE code='.$code'
Et quand sa ne me sélectionne rien (car le code correspond à aucun membre) et que je fais count($array) cela m'affiche tout de même 1.

Je pense que la meilleur manière est de testé si membre_pseudo==NULL.
Merci

Posté : 28 déc. 2008, 13:07
par Hywan
Hey :),

Merci saturn1 de prendre aussi bien la remarque de Calimero. À l'avenir, évite d'engueuler les personnes qui t'aideront, tu verras que ça ira mieux pour ton entourage … Si Calimero prend un peu de temps pour t'aider, ça implique de ne pas lui cracher dessus …

Sinon, si tu veux utiliser directement la méthode PDO::exec, tu verras qu'elle te retourne le nombre de lignes affectées (dixit http://php.net/pdo.exec). Même si le mieux est de passer à travers la couche PDOStatement, mais bon, tu fais comme tu veux …

Posté : 28 déc. 2008, 14:40
par animithra

Code : Tout sélectionner

Et quand sa ne me sélectionne rien (car le code correspond à aucun membre) et que je fais count($array) cela m'affiche tout de même 1.
Faisons preuve d'un peu de logique.

une fonction équivalente à mysql_num_rows() ne serait-elle pas plus adaptée pour connaître le nombre de résultats de ta requête ?
Parce que lorsque tu fais une requête, selon le système sous lequel tu tournes, même sans résultat count vaudra 1 à cause des entêtes des colonnes.

Au pire tu inclus un COUNT(*) dans ta requête de base, au moins tu as le nombre de résultat avec certitude...