no es que me moleste, ni mucho menos, tal vez me exprese muy mmm agresivo(?)...
en fin, lamento decirte que aunque utilices ese código y no te generará errores visibles no quiere decir que no existieran, el código en si no funciona diferente en varios servidores, lo que cambia es la configuración de dichos servidores, si no podias ver ningún mensaje de error es porque seguramente los errores estaban deshabilitados, pero, te apuesto lo que quieras a que si los activas te mostrará los mismos mensajes de error...
Para que veas que el problema es en realidad tu código has los siguientes cambios:
Código PHP:
Ver original//cambia esto...
$separar = explode("-", $_POST['estudio']);
//por esto...
$separar = isset($_POST['estudio']) ?
explode('-',$_POST['estudio'] : array('no existe estudio!');
//cambia esto... (agrega el or die(myql_error()))
has los cambios y vuelve a probar...