Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Ausführen von MySQL *.sql-Dateien in PHP

Diese Frage taucht ab und zu auf. Es gibt keine gute Lösung, um ein .sql-Skript direkt von PHP aus auszuführen. Es gibt Grenzfälle, in denen Anweisungen, die in einem .sql-Skript üblich sind, nicht als SQL-Anweisungen ausgeführt werden können. Zum Beispiel hat das mysql-Tool eingebaute Befehle die vom MySQL-Server nicht erkannt werden, z. CONNECT , TEE , STATUS , und DELIMITER .

Also gebe ich +1 für @Ignacio Vazquez-Abrams antworten . Sie sollten Ihr .sql-Skript in PHP ausführen, indem Sie mysql aufrufen Tool, zum Beispiel mit shell_exec() .

Ich habe diesen Test zum Laufen gebracht:

$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');

Siehe auch meine Antworten auf diese verwandten Fragen: