[英]How to get last error message from MySQL?
我正在使用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的錯誤?
我認為您需要在“易出錯”的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: ");
}
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.