Bei Verwendung von MySQL, PDOStatement::rowCount()
gibt die Anzahl der Zeilen in der Ergebnismenge zurück. Es ruft auf
die zugrunde liegenden mysql_num_rows()
C-Funktion zum Auffüllen des Werts. Keine Notwendigkeit für mehrfache Abfragen oder anderes Herumspielen.
Dies gilt für MySQL, aber dieses Verhalten kann nicht für andere Treiber verwendet werden (andere unterstützen es möglicherweise, aber es ist nicht garantiert, ich bin mit anderen nicht genug vertraut, um es so oder so mit Sicherheit sagen zu können). Da sich Ihre Frage jedoch speziell auf MySQL bezieht, sollte sie Ihren Zwecken dienen.