Daher fallen mir halt einige Dinge auf, wie z.b. auch das fehlende "mysql_num_rows".
Verwende dafür am besten die SQL-Aggregatfunktion COUNT()
z.B.:
SELECT
COUNT(*) AS Num_Rows
FROM
Foobar;
mysql_affected_rows() ersetzt du einfach durch PDOStatement::rowCount().