简单的查询日志类没有返回数组的大小


PHP- Simple query logging class is not returning size of array

我正在使用一个简单的类来记录我的sql查询,并返回查询的总量和执行所花费的时间。

class QueryLogger {
    public $queries = array();
    public function query($sql) {
        global $db;
        $start = microtime(true);
        $query = $db->query($sql);
        $queries[] = microtime(true) - $start;
        return $query;
    }
    public function getCount() {
        return sizeof($this->queries);
    }
    public function getTime() { 
        return array_sum($this->queries);
    }
} // end QueryLogger class
$queryLogger = new QueryLogger;
使用这个类,我可以成功地查询数据库:
$results = $queryLogger->query("MY SQL QUERY HERE");

问题是我不能让它返回查询的总数或时间:

echo 'Ran '.$queryLogger->getCount().' queries in '.$queryLogger->getTime().' seconds.';

我总是在0秒内得到0个查询。我不知道为什么。

您刚刚忘记了对象引用($this)。

$this->queries[] = microtime(true) - $start;