在运行之前记录所有查询

时间:2012-06-26 11:22:33

标签: php mysql zend-framework

使用Zend Framework我需要使用包含谁做了什么的信息来记录我的系统。 我希望系统能够记录数据库中发生的更新和删除查询的事情。

1 个答案:

答案 0 :(得分:1)

据我所知,您只想记录您的查询。您首先需要设置Zend_Log(这是一个教程:http://devjoe.blogspot.ca/2012/06/zendlog-tutorial-zendlogcan-be-very.htmlhttp://devjoe.blogspot.ca/2012/06/zendlog-tutorial-part-2.html)。

设置完日志后,可以在调用mysql查询的函数中将以下行添加到模型中:

public function simpleSelectQuery($someParam) {
    $mdl = new self(); 
    $select = $mdl->select();
    $select->where('id = ?', $someParam);
    MyApp_Logger::log('User is running query: '.$select->__toString(), Zend_Log::NOTICE);
    return $mdl->fetchAll($select); 
}

这将显示Zend在您的日志文件中生成的SELECT语句。