ユーザーに表示する代わりに、MySQLエラーをファイルに書き込むにはどうすればよいですか?
これが私がこれまでに持っているものです...
if (!mysql_query($sql_query,$connection))
{
die('Error: ' . mysql_error());
}
echo "Success!";
そのためにphpのerror_log関数を使用できます。
error_log("You messed up!", 3, "/var/tmp/my-errors.log");
編集:あなたの場合、これは次のようになります(ただし、別のifステートメントを使用します)
if (!mysql_query($sql_query,$connection))
{
error_log(mysql_error() . "\n", 3, "/var/tmp/my-errors.log");
}
echo "Success!";
error_log、またはfopen / fwrite / fclose/etcを使用します。
私はよく、PHPでset_error_handlerのような独自のエラーハンドラーを作成し、trigger_errorを使用してすべてのエラーをキャプチャしてファイルに書き込みます。これはあなたにとってより良いシナリオかもしれません。多数のerror_log()を作成する代わりに、エラーハンドラー関数を作成してからtrigger_errorを使用できます。
まず、エラーメッセージをユーザーに表示したくない場合は、dieを使用しないでください。
次に、dieを使用する代わりに、エラーメッセージをファイルに記録する必要があります。いくつかのログライブラリを使用している場合は、エラーをいくつかのログに出力することができます。そうでない場合は、PHPでのファイル処理を確認することをお勧めします。
リンク-http://davidwalsh.name/basic-php-file-handling-create-open-read-write-append-close-delete