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

Eléphanteau du PHP | 18 Messages

21 déc. 2008, 23:15

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 !

ViPHP
ViPHP | 2287 Messages

22 déc. 2008, 02:21

if(!@work()){ Nespresso(); } else { what(); }
______________________________

Eléphanteau du PHP | 18 Messages

24 déc. 2008, 01:49

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

Eléphanteau du PHP | 20 Messages

24 déc. 2008, 12:30

bah lorsque tu appelles la méthode fetch, et que tu construis le tableau de résultats, tu fais :
<?php $size = count($results); ?>

Eléphanteau du PHP | 18 Messages

25 déc. 2008, 16:27

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

ViPHP
ViPHP | 4674 Messages

28 déc. 2008, 13:07

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 …
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Eléphant du PHP | 174 Messages

28 déc. 2008, 14:40

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...
"Il vaut mieux avoir du luxe dans ses sentiments que sur ses habits, je ne crains, moi, le mépris de personne" Honoré De Balzac.
"On s'étonne trop de ce que l'on voit rarement et trop peu de ce que l'on voit chaque jour" Mme de Genlis
"L'absence diminue les médiocres passions et augmente les grandes comme le vent éteint les bougies et allume le feu" La RocheFoucauld
"People have hope because they can't see Death standing behind them" (anonymous)
"Of all the things I've lost, I miss my brain the most" (from a fanfic)