Primero, el mysql_*
Las funciones están en desuso. mysql_affected_rows()
parece devolver un número entero en todos los casos. Devuelve -1
si la consulta falló.
Lo que realmente necesita en lugar de mysql_affected_rows()
es una consulta adecuada que no está abierta a condiciones de carrera.
INSERT INTO table (id, count) VALUES (123, 0) ON DUPLICATE KEY UPDATE count = count + 1