Programmgesteuertes Ausführen von MySQL *.sql-Dateien in PHP
Ausführen von *.sql-Dateien direkt aus PHP über die Befehlszeilenschnittstelle der MySQL-Engine ( CLI) ist nicht empfehlenswert, da skriptspezifische Befehle wie CONNECT oder DELIMITER von MySQL nicht erkannt werden Server.
Als Lösung können Sie das MySQL-CLI-Tool von PHP aus mit Methoden wie „shell_exec()“ aufrufen. Hier ist ein Beispiel für die Verwendung von shell_exec():
$command = 'mysql --host=$db_host --user=$db_user --password=$db_pass --database=$db_name --execute="SOURCE ' . $script_path; $output1 = shell_exec($command . '/site_structure.sql"'); $output2 = shell_exec($command . '/site_db.sql"');
In diesem Beispiel wird --execute="SOURCE ..." verwendet, um die auszuführende Datei anzugeben, anstatt < Operator. Für eine bessere Kompatibilität ist es wichtig, für Befehle zum Format --option=value zu wechseln.
Bedenken Sie, dass die von shell_exec() zurückgegebene Ausgabe möglicherweise nicht nützlich ist, sodass Sie möglicherweise alternative Ansätze erkunden oder sich beraten lassen müssen weitere verwandte Fragen für weitere Einblicke.
Das obige ist der detaillierte Inhalt vonWie kann ich MySQL *.sql-Dateien in PHP programmgesteuert ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!