找到mysql错误发生的位置

时间:2011-04-01 09:46:23

标签: php mysql

我收到了这个mysql错误

  

“您的SQL语法有错误;   检查对应的手册   您的MySQL服务器版本   在'AND('附近使用正确的语法   XYZField = 5)'在第1行“

此错误不提供有关mysql错误发生位置的信息,我的意思是文件名,功能和行号。有什么方法可以检索此信息吗?

2 个答案:

答案 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并检查之前添加的内容。