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_logfopen /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 回答