Używając MySQL, PDOStatement::rowCount()
zwraca liczbę wierszy w zestawie wyników. W rzeczywistości połączenia
podstawowa mysql_num_rows()
Funkcja C do wypełnienia wartości. Nie ma potrzeby wielokrotnych zapytań ani żadnego innego bałaganu.
Dotyczy to MySQL, ale nie można polegać na tym zachowaniu w przypadku innych sterowników (inne mogą je obsługiwać, ale nie jest to gwarantowane, nie znam innych na tyle, by powiedzieć na pewno). Ale ponieważ twoje pytanie dotyczy konkretnie MySQL, powinno służyć twoim celom.