我在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;
}
答案 0 :(得分:2)
最简单的方法是将SQL查询包装到类/函数和工厂会计中。然后你只需要在你的脚本中首先启动你的计数器。增加每个查询的计数器。在脚本末尾显示计数器。
但是在你的情况下,如果你的返回字符串“1111”意味着4个查询(比如每个字符意味着单个查询),那么只需对该字符串执行普通strlen()
即可。
答案 1 :(得分:1)
你可以在你的函数中使用静态变量,并且每次都增加它。
答案 2 :(得分:1)
您可以使用可在函数内外访问的静态变量。
public function select (...) {
static $count_sql;
[your function code]
$count_sql++;
}