从TP3.2.2升级到3.2.3有以下几点需要注意
1 TP3.2.3的DB FIELD默认小写,如果DB有大小写混合的设计,需要在config.php添加以下设置
'DB_PARAMS' => array(\PDO::ATTR_CASE => \PDO::CASE_NATURAL),

2 'URL_CASE_INSENSITIVE' =>true時,APP_DEBUG=true,若Action名或模板名帶有大小寫,會出現找不到模板的異常,因此'URL_CASE_INSENSITIVE' 一律設置為false(默認值)

3 APP_DEBUG設置在index.php,config.php不需要再設置

4 3.2.2的ThinkPHP\Library\Think\Log\Driver\File.class.php 有bug。若在Runtime下没有对应module的目录,则\Think\Log::write()无法创建目录并生成log文件。3.2.3 fixed这个问题了。

5 第三方類庫建议存放位置\ThinkPHP\Library\Vendor

6 join的默认类型由left join 改成了inner join

...

7 3.2對sql語句檢查更加嚴格。若DB Field設置為not null,而sql將該值設置為null,則sql會拋出異常。若某個not null字段為null,而其它字段正常的情況下,TP3.2會將not null的字段對應的語句過濾掉
demo 1:

public function testUpdate()   {     $data['HKID'] = null;      $searchData['user_id'] = 3;        $result = D("OauthUser")->where($searchData)->save($data);       echo $result!==false ? "success" : "failed";        echo " " . D("OauthUser")->getLastSql();   }

HKID字段在DB是not null,若設置為null,會拋出以下異常
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE `user_id` = 3' at line 1
改成$data['HKID'] = ""; 執行成功

demo 2:

public function testMultiUpdate()  {     $data['HKID'] = null; $data['districtID'] = 1;        $searchData['user_id'] = 3;        $result = D("OauthUser")->where($searchData)->save($data);       echo $result!==false ? "success" : "failed";        echo " " . D("OauthUser")->getLastSql();   }

以上更新不會拋出異常。生成的sql會過濾掉不符合DB的HKID字段。生成的SQL:
UPDATE `oauth_users` SET `districtID`='1' WHERE `user_id` = 3

TP升级到3.2.3的注意事项相关推荐

  1. 关于 惠普 ENVY x360 15 bp10? 升级内存、硬盘 拆机 注意事项

    该文章电脑型号是 惠普 ENVY x360 15 bp10? 因为有好几个型号但都是 bp10开头的 电脑是上面这台哦,要分清楚哦~~~~ 该电脑具有一个可拆卸的 内存插槽  速度需要 DDR4 24 ...

  2. 银河麒麟桌面操作系统V10 升级到V10(sp1)注意事项

    经过测试,银河麒麟桌面操作系统V10(SP1)amd64的在/lib/x86_64-linux-gnu/没有了 libssl.so.1.0.0 libcrypto.so.1.0.0 libncurse ...

  3. stm32f103rb升级到stm32f103rc时代码移植注意事项

    1.由于stm32f103RC/RD/RE系列单片机芯片级的bug,代码中用到重映射相关函数的地方,在其后面添加__HAL_AFIO_REMAP_SWJ_NOJTAG();语句,如下所示: __HAL ...

  4. 技嘉Z68升级UEFI BIOS后要注意的事项

    1.慎用快速启动功能,我的Z68M-D2H开启了快速启动后USB供电不足,导至开机时键盘和鼠标都不能正常使用,当然也无法按delete键进入BIOS了.后来是通过长按电源键恢复的. 关闭快速启动 2 ...

  5. TiDB 4.0 升级 5.1 二三事——避坑指南

    \n> 原文来源: https://tidb.net/blog/ce260ea4 \n\n# 1. 背景 TiDB 5.1 版本 GA 到目前已经有一年时间,在稳定性.易用性.性能提升等各个方面 ...

  6. thinkcmf需要的php版本,升级指导 · ThinkCMF5开发手册 · 看云

    # 升级指导 >[danger] 升级前请做好备份 [TOC=2,5] ## 5.0.190312升级到5.0.190419 ### 升级步骤 1.备份数据库,和程序 2.覆盖新版本到老版本 3 ...

  7. bios get serialnumber 无法启动服务_联想笔记本BIOS升级教程

    升级前务必仔细阅读以下注意事项: 虽然每个文字你都认识,但是如果你是第一次升级联想笔记本电脑BIOS程序,那么,不要逞能,请仔细把以下注意事项至少阅读3遍,并按照以下顺序进行.否则,你会追悔莫及 . ...

  8. oppo如何更新计算机,OPPO R17Pro手机怎么升级和降级系统?

    手机使用过程中,为了满足不断更新的使用需求,往往需要对手机系统进行升级,但是又担心一不小心手机就成了砖头,今天我们就来看看手机升级和降级的方法和注意事项 OTA在线升级双清刷机升级服务中心刷机升级 一 ...

  9. Wi-Fi 6值得升级吗?从Wi-Fi 5升级到Wi-Fi 6需要什么?

    Wi-Fi 6当下最新的无线标准,在升级到 Wi-Fi 6 之前需要考虑一些事项,例如,Wi-Fi 6 值得升级吗?从 Wi-Fi 5 升级到 Wi-Fi 6 需要什么? 什么是 Wi-Fi 6? W ...

最新文章

  1. 前端_JavaScript_Method
  2. php imagetextouter,CSS_你不知道的outerText,innerText 区别说明,首先,看我们的html定义- phpStudy...
  3. 老王Python-进阶篇4-面向对象第三节
  4. 关于游戏开发中时间性能统计工具本身overhead较高的问题
  5. 什么是空中下载技术?学嵌入式必看!
  6. idea左右切换页面 返回上一次鼠标位置
  7. 小甲鱼 OllyDbg 教程系列 (十六) : 简单病毒的逆向分析
  8. python做一个linux网卡,Linux系统Python可以选择不同网卡进行网络访问吗?
  9. javascript class constructor
  10. node+读写文件_Node之父重构的Deno终于发布了,它终究会取代Node吗?
  11. 利用Redis锁解决高并发问题
  12. 【Python-3.5】win7安装Pygame
  13. js弹窗 js弹出DIV,并使整个页面背景变暗
  14. IE10首个修复补丁出现 解决ASP.NET兼容性
  15. 最新大数据资料合集.pdf
  16. 根据开始日期,结束日期,计算出日历上有几周的方法
  17. solidity 合约地址转钱包、钱包地址转合约
  18. cl.moqy.pw index.php_index2.php
  19. JavaSwing也惊艳之一:水晶之恋
  20. 面试当中必考的数据结构---树种类大全和相关优秀博客总结

热门文章

  1. 字节跳动公司创新分析 —— By BUPT 7xun
  2. 神级 idea 插件,让你代码飞起来~
  3. 想要自制动漫视频?Python教你把普通视频变成动漫视频
  4. 智能文档处理黑科技,拥抱更高效的数字世界
  5. javascript 关闭当前页面
  6. Conductor sweep 机制
  7. 蓝桥杯 让我怎能过大年 Java
  8. python绘制pp图_PP图和QQ图
  9. python中oo是什么意思_什么_和__在PYTHON中意味着什么
  10. 机械设备远程维护监控系统