标识调用函数的行

时间:2012-07-18 09:46:47

标签: php sql debugging line

有这样的重复代码:

$SQL = " INSERT INTO ... ";

mysql_query($SQL, $conexion);
$error = mysql_error();

if($_ADM['id_user']==1) {
    if( ! empty($error)) {
        $debug = array(
                    'message' => "SQL Error in news_edit module.",
                    'line'    => '177',
                    'error'   => $error,
                    'SQL'     => $SQL
                );
        exit(print_r($debug));
    }
}

这是一个常见的代码,每次$SQL更改时都会重复自我。我想要实现的是一种调试方法,如果发生任何错误,我可以看到,我有line参数,其中包含执行最后mysql_query的数字行,但我有要手动输入,每次在它之前添加代码时,需要使用新的行值更改line参数。

有没有办法确定上次执行mysql_query的位置?还有其他改进上述代码的方法吗?

2 个答案:

答案 0 :(得分:3)

尝试使用

'line'=> __LINE__,

它是一个魔术常量,显示文件的当前行..

答案 1 :(得分:0)

我认为你想要的是debug_backtrace功能。 查看规格手册:

http://php.net/manual/en/function.debug-backtrace.php