ホームページ >データベース >mysql チュートリアル >MySQL コマンドライン ツールを使用して PHP から SQL スクリプトを実行するにはどうすればよいですか?

MySQL コマンドライン ツールを使用して PHP から SQL スクリプトを実行するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-19 05:48:38676ブラウズ

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

PHP への SQL スクリプトの埋め込み: 詳細ガイド

概要

SQL スクリプトの直接実行PHP からの実行には、直接実行の制限とエッジ ケースによる課題が伴います。そのため、MySQL の CLI ツールなどの外部ツールの利用が必要になります。

shell_exec() による *.sql ファイルの実行

*.sql ファイルを実行するにはPHP では、shell_exec() を使用した次のアプローチがあります。推奨:

$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"');

追加の考慮事項

MySQL CLI オプションを指定するには、--option=value 形式の方がより堅牢であることに注意してください。さらに、 --execute="SOURCE ..." を使用してファイルの実行を指定することもできます。

shell_exec() と exec() の違い

どちらも shell_exec () と exec() は外部コマンドの実行を許可し、shell_exec() はスクリプト全体が実行され、その出力をキャプチャすることを保証します。一方、Exec() は出力の最後の行のみを返します。

関連する質問とリソース

  • 代替方法については、Ignacio Vazquez を参照してください。 - Abrams の応答。
  • その他のスタック オーバーフローの関連質問を参照してください。洞察:

    • PHP 内からの .sql ファイルのロード
    • ストアド プロシージャを使用した SQL スクリプトの実行
    • 単一の mysql_query ステートメントでの複数の SQL クエリ

以上がMySQL コマンドライン ツールを使用して PHP から SQL スクリプトを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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