Heim > Datenbank > MySQL-Tutorial > Wie kann ich SQL-Skripte aus PHP mit dem MySQL-Befehlszeilentool ausführen?

Wie kann ich SQL-Skripte aus PHP mit dem MySQL-Befehlszeilentool ausführen?

DDD
Freigeben: 2024-12-19 05:48:38
Original
673 Leute haben es durchsucht

How Can I Execute SQL Scripts from PHP Using the MySQL Command-Line Tool?

SQL-Skripte in PHP einbetten: Eine detaillierte Anleitung

Einführung

SQL-Skripte direkt ausführen von PHP stellt aufgrund der Einschränkungen und Randfälle, die bei der direkten Ausführung auftreten, eine Herausforderung dar. Daher ist die Verwendung eines externen Tools wie dem CLI-Tool von MySQL erforderlich.

Ausführen von *.sql-Dateien mit shell_exec()

Um *.sql-Dateien auszuführen PHP wird der folgende Ansatz mit shell_exec() empfohlen:

$command = 'mysql'
    . ' --host=' . $vals['db_host']
    . ' --user=' . $vals['db_user']
    . ' --password=' . $vals['db_pass']
    . ' --database=' . $vals['db_name']
    . ' --execute="SOURCE ' . $script_path
;
$output1 = shell_exec($command . '/site_db.sql"');
$output2 = shell_exec($command . '/site_structure.sql"');
Nach dem Login kopieren

Zusätzlich Überlegungen

Es ist erwähnenswert, dass das Format --option=value robuster für die Angabe von MySQL-CLI-Optionen ist. Darüber hinaus kann --execute="SOURCE ..." verwendet werden, um die Dateiausführung anzugeben.

Unterschiede zwischen shell_exec() und exec()

Während sowohl shell_exec () und exec() ermöglichen die Ausführung externer Befehle. Shell_exec() stellt sicher, dass das gesamte Skript ausgeführt wird, und erfasst seine Ausgabe. Exec() hingegen gibt nur die letzte Ausgabezeile zurück.

Verwandte Fragen und Ressourcen

  • Alternative Methoden finden Sie bei Ignacio Vazquez -Abrams' Antwort.
  • Weitere Informationen finden Sie in diesen verwandten Fragen zum Stapelüberlauf Erkenntnisse:

    • Laden von .sql-Dateien aus PHP heraus
    • Ausführen von SQL-Skripten mit gespeicherten Prozeduren
    • Mehrere SQL-Abfragen in einer einzigen mysql_query-Anweisung

Das obige ist der detaillierte Inhalt vonWie kann ich SQL-Skripte aus PHP mit dem MySQL-Befehlszeilentool ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage