|
发表于 2008-8-25 17:50:50
|
显示全部楼层
我是有两个办法看sql的。
第一,看你的log,看它执行了什么sql.
第二,这个办法是有点变态,要求是对CI核心代码有一定的理解的基础上。
我是这么做的。
你先找到system/database/DB_driver.php
我们先为CI_DB_driver类加一个属性:
class CI_DB_driver{
....
var $sqlstr;
我们再找到function query()
这个函数的最开始处加下这样的一句话:
$this->sqlstr = $sql;
最后,我们为CI_DB_driver类添加一个方法,位置不限,getSql()
function getSql()
{
return $this->sqlstr;
}
这样,我们在controller里就可以这样调用了:
$query = $this->db->get('mytable');
//to do something....
echo $this->db->getSql();
这样就可以看到你的sql语句了。 |
|