gpt4 book ai didi

php - 透明 mysql_error 日志记录 : How can I read mysql_error() twice?

转载 作者:行者123 更新时间:2023-11-29 09:03:09 25 4
gpt4 key购买 nike

我想在我的 php 应用程序中进行透明的 mysql_error 日志记录。我已经完成了以下操作:

function mysql_query_log_error($query) {
$debug_trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
$caller = $debug_trace[1];
$file = substr($caller[file], strrpos($caller[file], '/')+1);
$line = $caller[line];
$error = mysql_error();

$error_query = "INSERT INTO Common.ERRsql SET "
."errQuery = '".mysql_real_escape_string($query)."', "
."errText = '".mysql_real_escape_string($error)."', "
."errDate = NOW(), "
."errFile = '".mysql_real_escape_string($file)."', "
."errLine = '".mysql_real_escape_string($line)."' ";
mysql_query($error_query);

}

function mysql_query_log($query) {
$result = mysql_query($query) or mysql_query_log_error($query);
return $result;
}

但是当我在mysql_query_log_error()函数中读取mysql_error()时,原始调用者无法访问mysql_error()(因为它返回一个空字符串,所以它是“读出”的)。

我怎样才能以透明的方式做到这一点,我的意思是,mysql_error()将保持不变?

最佳答案

将原始错误分配给一个变量,然后将该变量传递到函数中。当您可以获取一次错误并将其存储在变量中时,无需尝试重​​复该错误。

关于php - 透明 mysql_error 日志记录 : How can I read mysql_error() twice?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7927746/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com