Secondo il manuale, esiste un PDOStatement->rowCount
metodo; ma non dovrebbe essere usato (citando) :
Per la maggior parte dei database, PDOStatement::rowCount()
non restituisce il numero di righe interessate da un SELECT
dichiarazione.
Utilizza invecePDO::query()
per emettere un SELECT COUNT(*)
dichiarazione con gli stessi predicati del SELECT
previsto istruzione, quindi utilizzarePDOStatement::fetchColumn()
per recuperare il numero di righe che verranno restituite.
L'applicazione può quindi eseguire l'azione corretta.
Se hai già un recordset e vuoi sapere quante righe ci sono, dovrai recuperare i dati, usando uno dei fetch*
metodi; e usa il conteggio, come hai suggerito.