0

我正在使用debug_backtrace()和一些基本样式来记录我的网站错误。

if (@mysql_error($this->conn))
   $error = 'mysql_error() response: ' . @mysql_error($this->conn);
else
   $error = 'non mysql error\r\n';

有时它不起作用。我的日志文件充满了“非 mysql 错误”,但错误总是出现在具有数据库连接的函数中。就像,getAllNews()函数失败,但它记录为非mysql错误。

如何正确记录我的网站和 mysql 的错误?

4

1 回答 1

0

我认为您需要在“可出错”的 mysql 函数之后立即记录错误。和 AFAIK,所有可出错的函数都返回FALSE错误,所以你可以检查如下;

<?php
public function errorLog($error) {
    // concat error with mysql error
    $error .= $this->conn
        ? mysql_error($this->conn)
        : mysql_error();
    // log error
    error_log($error);
    // keep last error
    $this->_lastError = $error;
}

...

// remember suppressing error throws (with "@" sign)
$this->conn =@ mysql_connect(...);
if (false === $this->conn) {
    $this->errorLog("Connection failed: ");
}
//or
$query =@ mysql_query(...);
if (false === $query) {
    $this->errorLog("Query failed: ");
}
?>
于 2013-01-30T18:00:07.440 回答