• thinkphp 模型调试


    调试执行的SQL语句

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

    1. $User = M("User"); // 实例化User对象
    2. $User->find(1);
    3. echo $User->getLastSql();
    4. // 3.2版本中可以使用简化的方法
    5. echo $User->_sql();

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

    并且每个模型都使用独立的最后SQL记录,互不干扰,但是可以用空模型的getLastSql方法获取全局的最后SQL记录。

    1. $User = M("User"); // 实例化User模型
    2. $Info = M("Info"); // 实例化Info模型
    3. $User->find(1);
    4. $Info->find(2);
    5. echo M()->getLastSql();
    6. echo $User->getLastSql();
    7. echo $Info->getLastSql();

    输出结果是

    1. SELECT * FROM think_info WHERE id = 2
    2. SELECT * FROM think_user WHERE id = 1
    3. SELECT * FROM think_info WHERE id = 2

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

    大理石平台精度等级

    注意:Mongo数据库驱动由于接口的特殊性,不存在执行SQL的概念,因此SQL日志记录功能是额外封装实现的,所以出于性能考虑,只有在开启调试模式的时候才支持使用getLastSql方法获取最后执行的SQL记录。

    调试数据库错误信息

    在模型操作中,还可以获取数据库的错误信息,例如:

    1. $User = M("User"); // 实例化User对象
    2. $result = $User->find(1);
    3. if(false === $result){
    4. echo $User->getDbError();
    5. }

    CURD操作如果返回值为false,表示数据库操作发生错误,这个时候就需要使用模型的getDbError方法来查看数据库返回的具体错误信息。

     
  • 相关阅读:
    取得窗口大小和窗口位置兼容所有浏览器的js代码
    一个简单易用的导出Excel类
    如何快速启动chrome插件
    网页表单设计案例
    Ubuntu下的打包解包
    The source file is different from when the module was built. Would you like the debugger to use it anyway?
    FFisher分布
    kalman filter
    Group delay Matlab simulate
    24位位图格式解析
  • 原文地址:https://www.cnblogs.com/furuihua/p/11834849.html
Copyright © 2020-2023  润新知