• 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方法来查看数据库返回的具体错误信息。

     
  • 相关阅读:
    Java核心技术(初阶)知识点复习——[2]面向对象思想
    Java核心技术(初阶)知识点复习——[1]Java的类结构和main函数
    printStream与printWriter
    java反射的初步探索
    JDKJREJVM的关系
    树链剖分模板
    树状数组模板2
    树状数组模板1
    树状数组+欧拉降幂
    线段树模板二
  • 原文地址:https://www.cnblogs.com/furuihua/p/11834849.html
Copyright © 2020-2023  润新知