Heim >Datenbank >MySQL-Tutorial >Wie kann ich SQL-Skripte aus PHP mit dem MySQL-Befehlszeilentool ausführen?
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"');
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
Weitere Informationen finden Sie in diesen verwandten Fragen zum Stapelüberlauf Erkenntnisse:
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!