Cita: lo que ocurre es que me muestra el alert de confirmación incluso antes de hacer el INSERT
Eso es imposible porque PHP se ejecuta en el servidor mientras que Javascript en el navegador, entonces para que al alert() lo puedas ver significa que el servidor ya terminó su trabajo.