Tienes un mal uso de apostrofos.
NULL no es una cadena de texto, sino un estado propio de datos en SQL, por lo que NO debe ir entre apóstrofos.
Luego, el segundo valor que pones está con el apostrofo de cierre, pero no el de inicio, con lo que la estructura completa de la query queda destruida.
Recuerda que para que una consulta funcione, no alcanza con que parezca estar bien escrita, tiene que estarlo en forma PERFECTA PARA MYSQL.
Código PHP:
Ver original$sql="INSERT INTO array
VALUES(NULL, '$campo1', '$campo2', '$campo3', '$campo4', '$campo5', '$campo6', '$campo7', '$campo8')";
Posdata:
1) Los datos de tipo fecha deben ir en campos DATE, DATETIME o TIMESTAMP. La fecha de un ISERTT INTO tiene un formato incorrecto, lo que me hace suponer que estás usando tun campo VARCHAR, lo que es un ERROR de tipo catastrófico.
2) Es preferible que lso valores numéricos para campos numéricos se pongan SIN apostrofos. Tratar los numeros como cadenas de texto ESCODE ERRORES, ya que se genera una conversión implícita que en realidad no permite ver que lo que NO está llegando es el DATO desde el formulario. Los espacios vacíos se mapean a cero en esas conversiones... que no es lo mismo que un dato que está faltando.