Когато използвате MySQL, PDOStatement::rowCount()
връща броя на редовете в резултатния набор. Всъщност обажда се
основният mysql_num_rows()
C функция за попълване на стойността. Няма нужда от множество заявки или каквото и да е друго бъркане.
Това е вярно за MySQL, но на това поведение не може да се разчита за други драйвери (други може да го поддържат, но не е гарантирано, не съм достатъчно запознат с други, за да кажа със сигурност във всеки случай). Но тъй като въпросът ви се отнася конкретно за MySQL, той трябва да служи за вашите цели.