我收到了这个mysql错误
“您的SQL语法有错误; 检查对应的手册 您的MySQL服务器版本 在'AND('附近使用正确的语法 XYZField = 5)'在第1行“
此错误不提供有关mysql错误发生位置的信息,我的意思是文件名,功能和行号。有什么方法可以检索此信息吗?
答案 0 :(得分:3)
你可以做到。您必须创建自己的错误处理程序。这将需要您身边的额外代码。
举个例子: -
假设您正在使用mysql_
家庭功能和PHP
当你调用任何查询时,你必须处理这些mysql错误,并且可以传递一些包含函数的变量,文件名信息来自定义错误。
查看PHP的debug-backtrace函数,它将为您提供所需的功能。当前行号,文件名函数名,类名。
您可以从此函数获取数据并将其与mysql_error()函数一起传递给trigger_error
mysql_query('SELECT ....') or trigger_error(mysql_error().' in the file
'.$filename.' with function'.$function_name)
这只是你可以做得更好的一个方向。
OP OPMENT后编辑
您已自定义数据库类
function db_error($query, mysql_errno(), mysql_error())
{
$info=debug_backtrace();
//This return array containing file name, line number function name etc
//your rest code to display errors
}
答案 1 :(得分:0)
在您的PHP代码中搜索XYZField
并检查之前添加的内容。