Innanzitutto, il mysql_*
le funzioni sono deprecate. mysql_affected_rows()
sembra restituire un numero intero in tutti i casi. Restituisce -1
se la query non è riuscita.
Di cosa hai veramente bisogno invece di mysql_affected_rows()
è una query corretta che non è aperta alle condizioni di gara.
INSERT INTO table (id, count) VALUES (123, 0) ON DUPLICATE KEY UPDATE count = count + 1