Mira yo tuve el msimo problema hace tiempo, y lo hice de esta forma.
una function que me guarde los datos normales
y otra con los detalles osea las tablas que tu nombras.
bueno cuento corto, comparo un campo de un array de esta forma
Código PHP:
if($variable_array['numero_input']==""){return;}
luego de esa variable, colocas el insert, eso te deberia funcionar ya que yo lo tengo asi y hasta el momento funciona sin problemas.