Haz que te muestre la query del INSERT
antes de ejecutarla, y verifica qué es lo que contiene.
Postea la estructura de las tablas. Podría darse que haya algúna impocompatibilidad de datyos. Para obtenerla usa:
Postea acá elo que obtengas.
Nota bene: Nunca es buena práctica crear la query en la misma llamada de ejecucion en la base desde un lenguaje. Es preferible cargarla en una variable para poder debuggear errores de codificion imperceptibles a simple vista.
Captura la salida de excepciones (erroes devueltos por MySQL, por ejemplo). Eso es básico.