phpcms打印执行SQL语句

文章描述:

phpcms在二次开发或者调试的时候,都希望在执行完Sql语句的时候可以看到所执行的Sql语句,以方便我们调整和修改,那么phpcms打印输出执行的Sql语句改怎么操作呢?

phpcms在添加打印输出sql调试功能有两个步骤:

一、数据库实现类

修改数据库实现类,打开phpcms/libs/classes/mysql.class.php文件,在代码:

public $querycount = 0;

下面添加

private $lastquerysql = '';

然后在当期类文件尾部添加以下方法代码:

public function lastsql() {
   return $this->lastquerysql;
}

修改execute方法,搜索以下代码:

$this->lastqueryid = mysql_query($sql, $this->link) or $this->halt(mysql_error(), $sql);

在上面添加以下代码:

$this->lastquerysql = $sql;

二、数据模型基类

修改数据模型基类,打开phpcms/libs/classes/model.class.php文件,在当前类尾部添加以下方法:

public function lastsql() {
   return $this->db->lastsql();
}

三、调用测试

在查询模型的时候调用代码,打开phpcms/modules/content/index.php文件,找到show方法,找到:

$r = $this->db->get_one(array('id'=>$id));

下面添加以下代码:

echo $this->db->lastsql();

然后访问文章内容页会发现会输出执行的SQL语句了,在开发的过程中都可以这样调用。

发布时间:2021/08/10

发表评论