您有没有机会在网站上缓存所有已执行的查询?没有任何会执行并将其写入数组的类?
我需要编写一些脚本,它会在页面底部显示所有已执行的查询。现在我使用Kohana和它的简单因为有一个profiler类可以显示,但是简单的mysql_query
是什么?
答案 0 :(得分:0)
一种丑陋但简单有效的方法:
function mysql_query_log ($query, $conn = NULL) {
if (!isset($GLOBALS['__QueryLog'])) $GLOBALS['__QueryLog'] = array();
$GLOBALS['__QueryLog'][] = $query;
return mysql_query($query, $conn);
}
将您对mysql_query()
的所有来电更改为mysql_query_log()
,全局变量$__QueryLog
是迄今为止已执行的所有查询的数组。
我称之为“丑陋”方法的原因是函数修改了它自己范围之外的变量,这是不好的做法,应该避免。但为了简单起见,这是不可避免的。