sql >> Base de Datos >  >> RDS >> Mysql

Ejecutar archivos MySQL *.sql en PHP

Esta pregunta surge de vez en cuando. No existe una buena solución para ejecutar un script .sql directamente desde PHP. Hay casos extremos en los que las declaraciones comunes en un script .sql no se pueden ejecutar como declaraciones SQL. Por ejemplo, la herramienta mysql tiene comandos integrados que no son reconocidos por el servidor MySQL, p. CONNECT , TEE , STATUS y DELIMITER .

Así que doy +1 al respuesta . Debe ejecutar su secuencia de comandos .sql en PHP invocando mysql herramienta, por ejemplo con shell_exec() .

Tengo esta prueba funcionando:

$command = "mysql --user={$vals['db_user']} --password='{$vals['db_pass']}' "
 . "-h {$vals['db_host']} -D {$vals['db_name']} < {$script_path}";

$output = shell_exec($command . '/shellexec.sql');

Vea también mis respuestas a estas preguntas relacionadas: