Thinkphp3.2.3在SQL执行错误时查看SQL语句

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

通常使用 getLastSql() 方法来查看刚执行过的SQL,但有时SQL语法错误,无法使用 getLastSql() 方法。

可以在SQL执行前将它打印出来

拼装出最后可执行SQL的位置在

ThinkPHP/Library/Think/Db/Driver.class.php

public function buildSelectSql($options=array()) {
    if(isset($options['page'])) {
        // 根据页数计算limit
        list($page,$listRows)   =   $options['page'];
        $page    =  $page>0 ? $page : 1;
        $listRows=  $listRows>0 ? $listRows : (is_numeric($options['limit'])?$options['limit']:20);
        $offset  =  $listRows*($page-1);
        $options['limit'] =  $offset.','.$listRows;
    }
    $sql  =   $this->parseSql($this->selectSql,$options);
    return $sql;
}

可以在return 前输出 $sql 变量或写入日志。

转载于:https://my.oschina.net/u/1423325/blog/819484

你可能感兴趣的:(Thinkphp3.2.3在SQL执行错误时查看SQL语句)