Thinkphp 5 调试执行的SQL语句 tp5的打印最后一条sql

摘要:
在模型操作中,为了更好地识别错误,通常需要查看最近使用的SQL语句。我们可以使用getLastsql方法输出最后执行的SQL语句。getLastSql方法只能获取上次执行的SQL记录。如果需要了解更多SQL日志,可以查看当前的跟踪信息或日志文件。Tp5打印最后一个sql//以下需要引用类库usethinkDb;日志;日志;Db::name-˃fetchSql-˃insert Force Print//打印语句转储;转储;/**创建日志文件*$content@array/@string要记录的数据*$dir@string文件夹名称*$file@string日志文件名*authorhaima*/functionLogs{ifdie;$file_path=ROOT_path.'Logs/'.$dir;if(!

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

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

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

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

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

输出的结果是一样的。

getLastSql方法只能获取最后执行的SQL记录,如果需要了解更多的SQL日志,可以通过查看当前的Trace信息或者日志文件。

tp5的打印最后一条sql

//以下都需要需要引用类库
use thinkDb;

Logs("第".__LINE__."行.loging/index","loging","loging");
Logs(db("lb_admin_mechanism")->getLastSql(),"loging","loging");

Db::name('report')->fetchSql(true)->insert($report)强制打印
//打印语句
dump( Db::table('table_name')->getLastSql());
dump( Db::getLastSql());


/**创建日志文件
 * $content   @array/@string  要记录的数据
 * $dir       @string   文件夹名字
 * $file      @string  日志文件名字
 * author haima
 */
function Logs($content,$dir,$file='')
{
    if(empty($dir)) die("文件夹名不可为空");
    $file_path = ROOT_PATH . 'Logs/'.$dir;
    if(!is_dir($file_path)){
        mkdir($file_path, 0777, true);
    }
    file_put_contents($file_path.'/'. $file . date('Ymd',time()) . '.log', date('Y-m-d H:i:s',time()) .' ' . var_export($content,true) . "
", FILE_APPEND);
}


免责声明:文章转载自《Thinkphp 5 调试执行的SQL语句 tp5的打印最后一条sql》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇python--AutoPy库关于vscode插件Live Server代理功能不能正常使用的解决方案下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

Jenkins配置git进行构建失败:Error cloning remote repo 'origin'的解决思路

出现如下的错误:Errorcloningremoterepo'origin'解决思路:1、第一时间发现应该是权限问题,那么可以切换成git协议或者https的协议去获取。...

mysql之排序查询

高级文章目录3:排序查询功能:1.按单个字段排序案例1:查询员工信息,要求工资从高到低排序2.为排序添加筛选条件案例1:部门编号˃=90的员工信息,按员工编号降序排序案例2:部门编号˃=90的人员信息,按输入时间排序。按表达式排序案例1:按年薪显示员工信息和年薪4按别名排序案例1按年薪升序查询员工信息5.按函数(长度)排序案例1查询员工姓名并按姓名长度减少...

RedisTemplate

在SpringBoot@RequestMapping(“/del/{key}”)publicStringdel(@PathVariable(“key”)Stringkey){try{//当该键不存在时,异常redisTemplate.delete(key);return“Success”;}将不会引发catch(Exceptione){returne.get...

面试了一个 31岁的iOS开发者,思绪万千,30岁以上的程序员还有哪些出路?

前言之前HR给了我一份简历,刚看到简历的第一眼,31岁?31岁,iOS开发工程师,工作经历7年,5年左右都在外包公司,2年左右在创业公司。iOS开发工程师这块,还是很少遇到30岁以上的开发,正好,来了一个30岁的开发,说实话,对我来说,还是蛮期待的,希望对我有所启示。这样的过程持续了半个小时那么年过350岁的程序员还有出路吗?作为一个8年的iOS开发,而且几...

浅谈 SQL 注入(注入篇)

1、 SQL注入1.1简介什么是SQL注入?它不过滤用户可以严格控制或没有限制的参数,以便用户可以将传入的参数和SQL语句组合成SQL语句,然后将其传输到web服务器。最后,它被传输到数据库以执行添加、删除、修改和查询等操作。基于此,用户可以获取数据库数据或提高其销毁数据库数据的权限。...

如何根据角色批量激活SAP Fiori服务

我们知道Fiori的角色不同于ERP,即使您的帐户具有SAP_ALL权限,但当您打开Fiori时,它也是空的:只有在您将Fiori所需的角色添加到帐户并激活相关服务时,才能使用Fioriapp。否则,打开Fioriapps将报告错误。可以通过GUI事务代码找到特定错误:/n/iwfnd/error_Log以查看特定原因。...