Yo en su día me volví loco con el INSERT, y es que solo me funcionaba si ponia los campos entre tildes en vez de entre comillas simples. Los valores con comillas simples si funcionaban.
Código:
INSERT INTO miTabla (`campo1`,`campo2`) VALUES ('valor1','valor2');
¿De todas maneras el último for te muestra los valores que tienen que ser? ¿Solo falla el INSERT?