如何计算页面加载的查询数量?

时间:2013-07-08 16:47:04

标签: php mysql sql function

我在SQL select查询中使用了这个简单的以下函数: -

我希望能够计算运行此函数时正在执行的查询数量?如果此函数已被调用10次,那么它将调用SQL查询10次。如何将其输出为字符串?我尝试使用

count($sql); 

但这会产生..

1111111

这意味着7次,当我尝试使用

  

array_sum()

它没有添加所有的.. 请帮忙吗?

非常感谢

public function select($rows = '*', $table, $where = null, $order = null, $limit = null, $echo = null) {
    $sql = "SELECT ".$rows." FROM {".$table."}";
    if($where != null) {
        $sql .= " WHERE ".$where;
    }
    if($order != null) {
        $sql .= " ORDER BY ".$order;
    }
    if($limit != null) {
        $sql .= " LIMIT ".$limit;
    }
    if($echo != null) {
        echo $sql . '<br />';
    }
    //echo $sql . '<br />';
    echo count($sql);           
    return $sql;
}

3 个答案:

答案 0 :(得分:2)

最简单的方法是将SQL查询包装到类/函数和工厂会计中。然后你只需要在你的脚本中首先启动你的计数器。增加每个查询的计数器。在脚本末尾显示计数器。

但是在你的情况下,如果你的返回字符串“1111”意味着4个查询(比如每个字符意味着单个查询),那么只需对该字符串执行普通strlen()即可。

答案 1 :(得分:1)

你可以在你的函数中使用静态变量,并且每次都增加它。

答案 2 :(得分:1)

您可以使用可在函数内外访问的静态变量。

public function select (...) {

    static $count_sql;

    [your function code]

    $count_sql++;

}