Ausführen von MySQL *.sql-Dateien aus PHP
Das Ausführen von .sql-Dateien aus PHP heraus kann eine Herausforderung darstellen, insbesondere bei der Automatisierung von Websites Generation. Obwohl es keine direkte Möglichkeit gibt, .sql-Skripte in PHP auszuführen, kann der Aufruf des MySQL-Tools mit shell_exec() eine Lösung bieten.
Shell-Ausführungsmethode
Mit shell_exec() können Sie einen Befehl erstellen, der das MySQL-Tool mit den entsprechenden Flags und aufruft Parameter:
$command = 'mysql' . ' --host=' . $vals['db_host'] . ' --user=' . $vals['db_user'] . ' --password=' . $vals['db_pass'] . ' --database=' . $vals['db_name'] . ' --execute="SOURCE ' . $script_path;
Durch die Übergabe des Dateinamens mit --execute="SOURCE ..." wird sichergestellt, dass die Datei ausgeführt wird. Beachten Sie jedoch, dass Sie für die Verwendung von shell_exec() Konsolenzugriff bereitstellen müssen, der in bestimmten Umgebungen möglicherweise nicht verfügbar ist.
Alternative Methode
Für eine flexiblere Lösung funktioniert sowohl auf Windows- als auch auf UNIX-Plattformen. Sie können den folgenden Befehl verwenden:
$command = "mysql --user={$vals['db_user']} --password='{$vals['db_pass']}' " . "-h {$vals['db_host']} -D {$vals['db_name']} < {$script_path}";
Dieser Befehl ruft direkt auf .sql-Datei mit dem Kleiner-als-Operator (<). Es erfordert keinen Konsolenzugriff und bietet eine zuverlässige Methode zum Ausführen von .sql-Dateien aus PHP-Skripten.
Das obige ist der detaillierte Inhalt vonWie kann ich MySQL-SQL-Dateien von PHP aus ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!