gpt4 book ai didi

php - MySQL 查询的错误处理

转载 作者:行者123 更新时间:2023-11-29 06:14:29 24 4
gpt4 key购买 nike

目前,我不是将查询发送到 PHP mysql_query() 函数,而是将查询发送到自定义包装器 sql_query(),其中除其他外,它还执行“mysql_query”部分。

此设置的问题在于,当出现 SQL 错误时,文件和行号是 sql_query() 函数所在的位置,而不是实际 SQL 查询所在的位置。

有没有办法让 PHP 报告调用 sql_query() 的文件和行号,而不是 mysql_query() 函数实际所在的位置?

最佳答案

debug_backtrace

还有许多对您的问题有用的示例。其中之一。令人惊讶的是,没有人描述过它的最佳用途之一:转储变量并显示位置。调试时,尤其是大型且不熟悉的系统时,记住我在哪里添加这些 var 转储是一件很痛苦的事情。此外,这样多个转储调用之间就有一个分隔符。

<?php

function dump( $var ) {
$result = var_export( $var, true );
$loc = whereCalled();
return "\n<pre>Dump: $loc\n$result</pre>";
}

function whereCalled( $level = 1 ) {
$trace = debug_backtrace();
$file = $trace[$level]['file'];
$line = $trace[$level]['line'];
$object = $trace[$level]['object'];
if (is_object($object)) { $object = get_class($object); }

return "Where called: line $line of $object \n(in $file)";
}
?>

关于php - MySQL 查询的错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7401741/

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