Primeiro, o
mysql_*
funções estão obsoletas. mysql_affected_rows()
parece retornar um inteiro em todos os casos. Ele retorna -1
se a consulta falhou. O que você realmente precisa em vez de
mysql_affected_rows()
é uma consulta adequada que não está aberta a condições de corrida. INSERT INTO table (id, count) VALUES (123, 0) ON DUPLICATE KEY UPDATE count = count + 1