0

我将这个简单的以下函数用于我的 SQL 选择查询:-

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

count($sql); 

但这会产生..

1111111

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

数组总和()

它没有添加所有的.. 有什么帮助吗?

非常感谢

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;
}
4

3 回答 3

2

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

但是在您的情况下,如果您的返回字符串“1111”表示 4 个查询(例如每个字符表示单个查询),那么只需strlen()对该字符串执行普通操作即可。

于 2013-07-08T16:53:07.027 回答
2

您可以在函数中使用静态变量并每次增加它。

于 2013-07-08T16:56:35.187 回答
1

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

public function select (...) {

    static $count_sql;

    [your function code]

    $count_sql++;

}
于 2013-07-08T16:56:35.510 回答