ホームページ >バックエンド開発 >PHPチュートリアル >SQL ファイルを使用して PHP アプリケーションから MySQL データベースの作成を自動化するにはどうすればよいですか?

SQL ファイルを使用して PHP アプリケーションから MySQL データベースの作成を自動化するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-09 20:24:25284ブラウズ

How Can I Automate MySQL Database Population from a PHP Application Using SQL Files?

PHP で MySQL *.sql ファイルを実行する

課題: 2 つの *.sql ファイルを実行してサイト生成を自動化する (テーブルの作成とレコードの入力) ) PHP 内からapplication.

解決策:

PHP で .sql スクリプトを直接実行するには制限がありますが、PHP 経由で MySQL ツールを呼び出すのは効果的な解決策です。

使用中shell_exec():

1 つの方法は、shell_exec() を使用して MySQL コマンドを実行することです。

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

--option=value 形式の使用:

安定性を向上させるには、--option=value 形式と --execute="SOURCE ..." を使用して実行します。ファイル:

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

追加メモ:

  • exec() と shell_exec() には微妙な違いがあります。
  • 次のようなエッジ ケースが存在します。 .sql スクリプト ステートメントは SQL として直接実行できません。
  • 呼び出しPHP の MySQL は、.sql ファイルを処理するための信頼できる方法です。

以上がSQL ファイルを使用して PHP アプリケーションから MySQL データベースの作成を自動化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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