0

正如我在主题中所说,
我的团队基于 Zend Framework (1.11) 开发了社交网站。
问题是我们的客户想要一个带有
执行时间、受影响的行数和语句语句的调试(在屏幕上的数据库查询列表上)。
Zend_DB_profiler 为我们轻松获取时间和语句,但
我们还需要查询受影响的行数(获取、更新、插入或删除)。
请帮忙,如何应对这个任务?

4

1 回答 1

1

这是当前的实现,它阻止你得到你想要的。

$qp->start($this->_queryId);
$retval = $this->_execute($params);
$prof->queryEnd($this->_queryId);

可能的解决方案是:

  • 为 Statement 创建您自己的类,假设从 Zend_Db_Statement_Mysqli 扩展或您有什么。
  • 重新定义其执行方法,以便将 $retval 进行到 $prof->queryEnd($this->_queryId);
  • 用新的语句类名重新定义 Zend_Db_Adapter_Mysqli 中的 $_defaultStmtClass
  • 创建您自己的 Zend_Db_Profiler 并重新定义公共函数 queryEnd($queryId),因此它接受 $retval 并处理 $retval
于 2012-08-21T08:16:34.537 回答