TP5.x——打印SQL语句

2024-08-16 10:40:41 浏览数 (2)

操作

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

代码语言:javascript复制
var_dump(Db::name('user')->where(array('id'=>$this->_uid,'isdel'=>null))->fetchSql()->update(array('mobile'=>$mobile)));die;

效果

官方文档

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

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

代码语言:javascript复制
User::get(1);
echo User::getLastSql();

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

代码语言:javascript复制
getLastSql方法只能获取最后执行的SQL记录。

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

代码语言:javascript复制
echo User::fetchSql()->find(1);

0 人点赞