Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Executando arquivos MySQL *.sql em PHP


Essa pergunta surge de tempos em tempos. Não há uma boa solução para executar um script .sql diretamente do PHP. Existem casos extremos em que as instruções comuns em um script .sql não podem ser executadas como instruções SQL. Por exemplo, a ferramenta mysql tem comandos embutidos que não são reconhecidos pelo MySQL Server, ex. CONNECT , TEE , STATUS e DELIMITER .

Então eu dou +1 para @Ignacio Vazquez-Abrams resposta . Você deve executar seu script .sql em PHP invocando o mysql ferramenta, por exemplo com shell_exec() .

Eu tenho este teste 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');

Veja também minhas respostas para essas perguntas relacionadas: