Lors de l'utilisation de MySQL, PDOStatement::rowCount()
renvoie le nombre de lignes dans le jeu de résultats. En fait, il appelle
le sous-jacent mysql_num_rows()
Fonction C pour remplir la valeur. Pas besoin de plusieurs requêtes ou de tout autre problème.
C'est vrai pour MySQL, mais ce comportement ne peut pas être invoqué pour d'autres pilotes (d'autres peuvent le prendre en charge mais ce n'est pas garanti, je ne connais pas assez les autres pour être sûr de toute façon). Mais puisque votre question concerne spécifiquement MySQL, elle devrait répondre à vos besoins.