从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框架的博客系统设计...该设计基于TP 3.2.3框架开发,实现了消息推送、QQ登录、微博登录、微信登录、ajax无刷新多层评论、定制模板和发送邮件等功能,为用户提供了一个便捷、功能丰富的博客平台。
标题中的“基于tp3.2.3的博客前后台手机端API”指的是使用ThinkPHP 3.2.3框架开发的用于博客应用的后端接口。ThinkPHP 3.2.3是PHP的一个流行框架,它提供了MVC(模型-视图-控制器)架构模式,便于开发者构建Web应用...
### ThinkPHP 3.2.3 ...以上是对ThinkPHP 3.2.3快速入门的一个全面概述,从基础知识到高级特性均有涉及。通过这些内容的学习,开发者可以迅速掌握ThinkPHP框架的核心概念和使用方法,为后续深入学习打下坚实的基础。
### ThinkPHP3.2.3快速入门知识点解析 #### 一、ThinkPHP框架概述 - **框架介绍**:ThinkPHP是一款基于MVC架构并面向对象的轻量级PHP开发框架,采用Apache2开源协议发布。它自诞生起就强调简洁与实用性,在确保高...
【标题】"基于EasyUI和TP3.2.3搭建的后台系统"是一个典型的Web开发实践,它结合了两个强大的工具来构建高效、美观的管理界面。EasyUI是一款基于jQuery的UI框架,提供了丰富的组件和预设样式,使得前端开发更为便捷。...
这里我们关注的是一个基于ThinkPHP 3.2.3框架实现的倒计时解决方案,名为"TP3.2.3倒计时",由FZK_cypt开发。这个软件包主要提供了在网页上实时显示动态倒计时的能力,当设定的时间到达时,页面会自动切换到预设的...
thinkphp3 1分钟告诉你如何去除url(就是类似网站的链接的htt....................html 的html)的后缀
本篇文章将深入探讨如何在ThinkPHP3.2.3中利用Cron来实现网站访问触发的任务执行。 首先,理解Cron。Cron是Unix/Linux操作系统中的一个调度服务,用于周期性地执行任务。在ThinkPHP3.2.3中,虽然没有内置的Cron服务...
ThinkPHP一直在致力于简化企业和个人的WEB应用开发。8年来一直在坚持不懈地努力,并坚持开源和免费提供使用,帮助开发人员更加方便的进行WEB应用的快速开发。 发布本资料须遵守开放出版许可协议 1.0 或者更新版本。...
标题中的“tp3.2.3带表情无限评论回复”指的是基于ThinkPHP 3.2.3框架开发的一个功能模块,该模块实现了带有表情支持的无限级评论回复功能。ThinkPHP是一个广泛使用的开源PHP框架,版本3.2.3是其稳定的一个版本,...
《基于ThinkPHP 3.2.3的企业站开发详解》 在互联网技术日新月异的今天,企业网站已经成为企业展示形象、提供服务、开展业务的重要平台。本项目以ThinkPHP 3.2.3为核心框架,结合WAMP服务器环境和UEditor编辑器,...
1. 路由系统:ThinkPHP3.2.3支持自定义路由规则,可以根据不同的URL模式匹配到对应的控制器和方法。 2. MVC架构:分离业务逻辑、数据处理和视图展示,提升代码可读性和可维护性。 3. 模型层:提供数据操作接口,支持...
《ThinkPHP3.2.3框架中的二维码扩展详解》 在现代互联网应用中,二维码(Quick Response Code)作为数据交换的便捷方式,被广泛应用在各种场景,如网站跳转、电子票务、产品追溯等。在PHP开发环境中,ThinkPHP框架...
五、注意事项 1. 数据库设计:确保用户表中包含用于验证的字段,如`username`和`password`,并进行加密存储。 2. 错误处理:登录失败时,不应显示过多敏感信息,避免被恶意利用。 3. 用户体验:提供忘记密码功能,并...
ThinkPHP 3.2.3 核心版 更新日志:2014-12-24 [数据库方面]数据库驱动完全用PDO重写;支持通用insertAll方法;改进参数绑定机制;主从分布式数据库连接改进;对Mongo的支持更加完善;[模型方面]模型类的诸多增强和...
1.此项目是基于Thinkphp3.2.3+easyui做的权限管理系统,所有后台管理系统均可基于此项目开发。 2.项目集成php反射自动生成API文档,通过访问http://你的IP或者域名/文件地址/tpcs/index.php/Api/Doc/index.html即可...
《建站管家》ThinkPHP3.2.3版本介绍:1、基于ThinkPHP3.2.3的中英双语企业建站系统2、可自行扩展多语言(默认中英文)3、前台及后台均支持手机版+电脑版4、自定义URL前缀5、多级分类6、整合Ueditor,水印裁切图片...
5. **安全注意事项** - 文件名安全:为了防止文件覆盖和路径遍历攻击,上传的文件名应避免使用用户提供的数据,一般采用时间戳+随机字符串的方式生成。 - 文件类型检查:严格检查上传的文件类型,防止恶意文件上传...
如果你的项目依然依赖于这个版本,你可以继续使用提供的 `apache-maven-3.2.3` 压缩包,但请注意可能错过一些新版本带来的功能和安全性更新。建议定期评估升级到最新稳定版的可能性,以利用最新的改进和特性。
要开始使用Maven,你需要将解压后的`bin`目录添加到系统路径中,然后可以运行`mvn -v`检查Maven是否正确安装。接着,你可以创建一个新的Maven项目,编写POM文件,并使用`mvn compile`、`mvn test`等命令来执行构建...