Thinkphp 5 调试执行的SQL语句
在模型操作中 ,为了更好的查明错误,经常需要查看下最近使用的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 think\Db;
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) . "\r\n", FILE_APPEND);
}
Thinkphp 5 调试执行的SQL语句的更多相关文章
- thinkPHP框架中执行原生SQL语句的方法
这篇文章主要介绍了thinkPHP框架中执行原生SQL语句的方法,结合实例形式分析了thinkPHP中执行原生SQL语句的相关操作技巧,并简单分析了query与execute方法的使用区别,需要的朋友 ...
- EFCore, 输出执行的Sql语句到控制台或者调试窗口
.net core 已经集成的各种日志功能,使用efcore时,只需要按情况引入相应的包即可,如果你用的是.net core调试,那么可以引入 Microsoft.Extensions.Logging ...
- 2016/05/13 thinkphp 3.2.2 ① 数据删除及执行原生sql语句 ②表单验证
[数据删除及执行原生sql语句] delete() 返回受影响的记录条数 $goods -> delete(30); 删除主键值等于30的记录信息 $goods -> delete( ...
- IBatis.Net获取执行的Sql语句
前言 IBatis.Net中Sql语句是些在配置文件中的,而且配置文件是在程序启动时读取的(我们开发的时候需要将其设置成较新复制或者是始终复制),而不是程序将其包含在其中(例如NHibernate的映 ...
- vs2017 输出 ling to sql 转为执行的sql语句
在项目视图中,找到->输出 窗口,在窗口中选择ASP.NET Core Web服务器,调试项目即可看到执行的sql语句
- mysql怎么终止当前正在执行的sql语句
mysql怎么终止当前正在执行的sql语句 show processlist; kill 要杀的ID kill 7
- MySql使用show processlist查看正在执行的Sql语句
今天上班例行的查看了下服务器的运行状况,发现服务器特卡,是mysqld这个进程占用CPU到了99%导致的. 比较好奇是那个程序在使用mysql导致cpu这么高的,通过show processlist命 ...
- tcpdump来抓取执行的sql语句
# tcpdump -n -nn -tttt -i eth1 -s 65535 'port 3306' -w tcpdump_mysql.ret -C 100 一个TCP包中包含多个mysql协议包, ...
- 监控mysql执行的sql语句
linux平台 监控mysql执行的sql语句 为了做好配合开发做性能和功能测试,方便监控正在执行的sql语句, 可以在/etc/mysqld中添加如下: log =/usr/local/mys ...
随机推荐
- 牛客网练习赛34-D-little w and Exchange(思维题)
链接:https://ac.nowcoder.com/acm/contest/297/D 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5242 ...
- CentOS,net core2 sdk nginx、supervisor、mysql
CentOS下 .net core2 sdk nginx.supervisor.mysql环境搭建 作为.neter,看到.net core 2.0的正式发布,心里是有点小激动的,迫不及待的体验了一把 ...
- node-amqp 使用fanout发布订阅rabbitmq消息
publisher代码 const amqp = require('amqp'); let option = { host: 'server-ip', port: 5672, login: 'gues ...
- ArrayList集合--关于System.out.print(Object obj);的理解
1.ArrayList集合中常用的方法 ArrayList<Student> stuArrayList = new ArrayList<>(); //定义一个集合对象 stuA ...
- ae(ArcEngine) java swing开发入门系列(1):开发环境和代码部署
前言:做ae开发大部分人都是用C#版,很少用到java版,本系列文章主要介绍java版ae开发的入门,对于ae接口的高级应用,可以看C#版相关文章 开发环境软件: Intellij IDEA 2018 ...
- class类型重定义,防止头文件重复加载
今天调用自己写的一个类,出现了class类型重定义问题,上网查了相关资料,发现是头文件重复include引起的问题. 防止头文件重复加载: 系统那些头文件,无论怎么include都没事,因为一般都用了 ...
- PHP_RAW_POST_DATA特性
在PHP5.6.x中已废止特性 使用 always_populate_raw_post_data 会导致在填充 $HTTP_RAW_POST_DATA 时产生 E_DEPRECATED 错误. 请使用 ...
- POJ 2923 Relocation(01背包+状态压缩)
题意:有人要搬家,有两辆车可以运送,有若干家具,车有容量限制,而家具也有体积,那么如何运送会使得运送车次最少?规定两车必须一起走,两车一次来回只算1躺. 思路:家具怎么挑的问题,每趟车有两种可能:1带 ...
- 51nod 1101 换零钱
基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 N元钱换为零钱,有多少不同的换法?币值包括1 2 5分,1 2 5角,1 2 5 10 20 50 100元. ...
- Intel 快速存储蓝屏
今天电脑蓝屏,DPC Watchdog Violation 很烦.开bluescreen说是NT内核的问题 开windbg说是Intel快速存储的问题,顺手卸载快速存储 卸载前 卸载后 另外我看Int ...