cambia quel

codice:
or die ("Errore 2");
in

codice:
or die ("Errore 2: ".mysql_error());
che ti ritornerà un messaggio più comprensibile.
Fai anche una cosa del genere: prima di eseguire la query, stampala a video con un echo, così ti rendi conto di quel che è davvero (magari alcuni campi not null non vengono valorizzati...)