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