Hola,
Para ver los mensajes de error de MySQL, usa esta estructura:
Código PHP:
mysql_query($sql) or die("Error en $sql .<br>Mysql dice: ".mysql_error());
La programacion se basa en la "suma cero". Si le dices que quieres insertar 3 campos, no le puedes pasar 4 valores. Y si dices que id es autoincremental, no pinta nada ni a un lado ni a otro.
Saludos.