TP5.x——打印SQL语句

时间:2022-04-17 06:19:42

操作

使用fetchSql,然后sql就会只输出sql语句而不执行

var_dump(Db::name('user')->where(array('id'=>$this->_uid,'isdel'=>null))->fetchSql()->update(array('mobile'=>$mobile)));die;

效果

TP5.x——打印SQL语句

官方文档

https://www.kancloud.cn/manual/thinkphp5_1/354098

TP5.x——打印SQL语句

在模型操作中 ,为了更好的查明错误,经常需要查看下最近使用的SQL语句,我们可以用getLastsql方法来输出上次执行的sql语句。例如:

User::get(1);
echo User::getLastSql();

输出结果是 SELECT * FROM 'think_user' WHERE 'id' = 1

getLastSql方法只能获取最后执行的SQL记录。

也可以使用fetchSql方法直接返回当前的查询SQL而不执行,例如:

echo User::fetchSql()->find(1);