Fagner, Analisei no manual do PHP (muito útil por sinal... baixa o chm que é um espetáculo) sobre a função mysql_affected_rows. Essa função retorna -1 em caso do statement SQL falhar (INSERT, UPDATE, DELETE). E é isso que está acontecendo.... erro de constraint é um erro e vai retornar -1, passando pela seu desvio condicional. Utilize apenas as funções mysql_errno e para mostrar o erro mysql_error. Exemplo: $resultado = mysql_query ("insert into estoque (nome,qtde,almox) values ('$id_prod',345,'$id_almox')");
if (mysql_errno()){
echo "Falha".mysql_error();
}else {
echo "Sucesso";
} Ainda através do número do erro é possível identificar se é erro de constraint. Editando... para que apareça quando não inserir dados na tabela também, é bom usar o mysql_afected_rows... ou alterar a validação para verificar se menor que 1. Testa aí. Espero ter ajudado melhor agora.... rs