public static function load_data_infile($nombre_y_ruta_respaldo) { if (DB_Common::$debug_mode || !function_exists(system)) { return DB_MySQL::load_data_script($nombre_y_ruta_respaldo, $delimitador); } else { /** * No pude cachar cuando habia error usando system() o exec(). En el caso de system, si muestra algo en pantalla * lo tomas con la variable $fallo_ejecucion, pero al ser un comentario no de consola del sistema operativo, * sino un comentario de MySQL, no lo asigna a la variable y no se puede evaluar. En el caso de exec, * se podria igualar a una variable, pero resulta lo mismo que la variable asignada de system. Queda pendiente para saber * como cachar un error sino esta en modo de depuracion. Se hace asi, porque el proceso de carga lo hace directamente * el Engine de MySQL y no pasa por PHP. */ system('mysql -u ' . DB::$_usuario . ' -p"' . DB::$_pass . '" ' . DB::$_db . ' < ' . $nombre_y_ruta_respaldo, $fallo_ejecucion); if ($fallo_ejecucion) { return DB_MySQL::load_data_script($nombre_y_ruta_respaldo, $delimitador); } return true; } }