Když používáte MySQL, PDOStatement::rowCount()
vrátí počet řádků v sadě výsledků. Ve skutečnosti volá
základní mysql_num_rows()
C funkce k naplnění hodnoty. Není potřeba více dotazů ani žádné jiné zmatky.
To platí pro MySQL, ale u jiných ovladačů se na toto chování nelze spolehnout (jiné to mohou podporovat, ale není to zaručeno, neznám se s ostatními natolik, abych to s jistotou řekl v obou případech). Ale protože se vaše otázka týká konkrétně MySQL, měla by sloužit vašim účelům.