ホームページ >バックエンド開発 >PHPチュートリアル >PHP から MySQL *.sql ファイルを確実に実行する方法

PHP から MySQL *.sql ファイルを確実に実行する方法

Barbara Streisand
Barbara Streisandオリジナル
2024-11-30 12:56:16402ブラウズ

How to Reliably Run MySQL *.sql Files from PHP?

PHP での MySQL *.sql ファイルの実行: 効果的な解決策

時折話題になる、MySQL の実行 。 PHP サーフェス内からの SQL ファイル。残念ながら、.sql スクリプトには SQL ステートメントとして直接実行できないコマンドが含まれていることが多いため、単純な解決策はありません。

エッジ ケース

エッジ ケースが発生します。 *.sql スクリプトに、MySQL サーバーで認識されない組み込みの mysql ツール コマンドが含まれている場合。これらのコマンドには、CONNECT、TEE、STATUS、DELIMITER が含まれます。

信頼性の高いアプローチ

これらの課題に対処するには、PHP から mysql ツールを呼び出して、 shell_exec() のようなメソッド。このアプローチは、*.sql スクリプトを実行するための堅牢なソリューションを提供します。

サンプル コード:

次のサンプル コードは、shell_exec() を使用して *.sql スクリプトを実行する方法を示しています。 ):

$command = "mysql --user={$vals['db_user']} --password='{$vals['db_pass']}' "
 . "-h {$vals['db_host']} -D {$vals['db_name']} < {$script_path}";

$output = shell_exec($command . '/shellexec.sql');

代替アプローチ

*.sql ファイルを実行する別のアプローチについては、他の関連する質問を検討してください。

  • PHP 内から .​​sql ファイルをロードする
  • は可能ですか?別の SQL スクリプトのストアド プロシージャから SQL スクリプトを呼び出しますか?
  • PHP: 複数の SQL 1 つの mysql_query ステートメントでクエリを実行

潜在的なセキュリティ リスクを防ぐために、shell_exec() を使用するときは注意してください。

以上がPHP から MySQL *.sql ファイルを確実に実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。