PHPからMySQLデータベースに.SQLファイルをインポートする方法を構築しています。これは、クエリのバッチを実行するために使用されます。私が抱えている問題はエラー報告です。
$command = "mysql -u $dbuser --password='$dbpassword' --host='$sqlhost' $dbname < $file";
exec($command, $output);
これは基本的に、.sqlファイルをデータベースにインポートする方法です。問題は、このコマンドを実行しているPHPスクリプト内でエラーが発生したかどうかを知る方法がないことです。インポートの成功は、失敗とまったく区別できません。
私が試してみました:
- PHPのSQLエラーレポート関数を使用します。
- コマンドにverbose引数を追加し、出力を調べます。.sqlファイルの内容を返すだけで、それだけです。
- .sqlファイル内のユーザー変数にエラーを設定し、PHPスクリプトからクエリします。
エラーを一時テーブルに書き込むことを強制されないことを願っています。もっと良い方法はありますか?
更新:可能であれば、エラーが発生した場合だけでなく、発生したエラーを特定できれば非常に望ましいでしょう。