zoukankan      html  css  js  c++  java
  • Thinkphp 5 调试执行的SQL语句 tp5的打印最后一条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 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);
    }
    
    
    
    [Haima的博客] http://www.cnblogs.com/haima/
  • 相关阅读:
    Fragment入门代码
    Handler注意事项
    Handler处理消息
    Handler发送消息
    Hander创建消息
    handler四元素
    handler方法
    Handle的特点
    handler定义
    9Patch图
  • 原文地址:https://www.cnblogs.com/haima/p/9627640.html
Copyright © 2011-2022 走看看