Viene restituito un PDOSstatement per ogni query eseguita. Sarai in grado di utilizzare PDOStatement->rowCount() in qualsiasi momento nel tuo codice (durante o dopo una transazione e rollback/commit non importa). Ogni oggetto si prende cura di se stesso.
Il motivo per cui mysql_affected_rows ha quella nota di transazione è perché è a conoscenza solo di una singola risorsa di connessione mysql. Ciò significa che quando si completa la transazione (commit/rollback) è stata inviata una nuova query al DB, alterando così il risultato in elaborazione per il numero di righe interessate.