Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich MySQL-SQL-Dateien von PHP aus ausführen?

Wie kann ich MySQL-SQL-Dateien von PHP aus ausführen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-01 13:18:12153Durchsuche

How Can I Run MySQL .sql Files from PHP?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn