像Discuz!,phpwind等论坛页面下方都有统计页面SQL查询次数的功能,这个blog数据库访问层使用的是adodb,让我们来为它添加一个相应的统计功能。(现在首页上的统计功能就是用这个实现的)
adodb以OOP思想来写的,都已经封装好了,所以修改起来比较简单。
所有的查询方法(比如Execute,GetOne,GetRow等)最终都是调用特定数据库实现类的_query方法执行的。
在这个地方动下手脚就可以实现这个功能了。
设一变量,初始化为0,每次调用便加1。以mysql实现adodb-mysql.inc.php为例
//
// 连接数据库,使用的方法和原来都一样
// 在要显示数据库查询次数的地方:
// echo $adodb->getQueryTimes();
//
class ADODB_mysql extends ADOConnection {
// 添加一成员变量,记录数据库查询次数
var $queryTimes = 0;
// 修改原有_query方法
function _query($sql, $inputarr) {
$this->queryTimes++;
// ...
}
// 添加取查询次数的方法
function getQueryTimes() {
return $this->queryTimes++;
}
}