1

ユーザーに表示する代わりに、MySQLエラーをファイルに書き込むにはどうすればよいですか?

これが私がこれまでに持っているものです...

if (!mysql_query($sql_query,$connection))
  {
  die('Error: ' . mysql_error());
  }
echo "Success!";
4

3 に答える 3

6

そのために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!";
于 2012-07-15T19:02:53.237 に答える
1

error_log、またはfopen / fwrite / fclose/etcを使用します。

私はよく、PHPでset_error_handlerのような独自のエラーハンドラーを作成し、trigger_errorを使用してすべてのエラーをキャプチャしてファイルに書き込みます。これはあなたにとってより良いシナリオかもしれません。多数のerror_log()を作成する代わりに、エラーハンドラー関数を作成してからtrigger_errorを使用できます。

于 2012-07-15T19:23:02.757 に答える
0

まず、エラーメッセージをユーザーに表示したくない場合は、dieを使用しないでください。

次に、dieを使用する代わりに、エラーメッセージをファイルに記録する必要があります。いくつかのログライブラリを使用している場合は、エラーをいくつかのログに出力することができます。そうでない場合は、PHPでのファイル処理を確認することをお勧めします。

リンク-http://davidwalsh.name/basic-php-file-handling-create-open-read-write-append-close-delete

于 2012-07-15T19:05:55.197 に答える