使用ThinkPHP过程中发现的一些坑
2019独角兽企业重金招聘Python工程师标准>>>
接触TP其实也蛮久了. 2009 年就开始用过.
1. join()方法不会对__PREFIX__ 和 __TABLE__进行解析
2. I方法在DWZ中取值要注意
3. select() 时若字段不存在会被忽略,delete() 同 , find()时也一样
4. Core/ThinkPHP/Lib/Core/Model.class.php 一处bug伤了我半个钟头以上,原因是有个表中有个字段是这样的:
'prz_givingday_type' => 'enum(\'interval\',\'specific\')
然后再看TP源码:
@@ -577,7 +577,7 @@ class Model {protected function _parseType(&$data,$key) {if(empty($this->options['bind'][':'.$key])){$fieldType = strtolower($this->fields['_type'][$key]);if(false === strpos($fieldType,'bigint')
&& false !== strpos($fieldType,'int')) {$data[$key] = intval($data[$key]);}
如果有字段中包含int 字眼,那么,此字段的值即使是字符串的,也会被强制置0
我的修改:
- if(false === strpos($fieldType,'bigint')
&& false !== strpos($fieldType,'int')) {
修改为:
+ if(false === strpos($fieldType,'bigint')
&& 0=== strpos($fieldType,'int')) {
其实这个坑是由于TP的作者考虑不太全面,而且没有注意 PHP中的strpos函数的特殊性.
5. create()前面注意加field 限制,要不然会造成很严重的安全漏洞.
转载于:https://my.oschina.net/ihacklog/blog/225616
使用ThinkPHP过程中发现的一些坑相关推荐
- 探讨:在Mac新系统下安装新版XAMPP过程中遇到到的坑以及解决办法
探讨:在Mac新系统下安装新版XAMPP过程中遇到到的坑以及解决办法 简介 XAMPP安装 XAMPP 是个啥? 安装XAMPP 新版问题:IP地址访问不再是localhost 操作问题:apache ...
- Centos7+mysql57+python3安装过程中踩过的坑
Centos7+mysql57+python3安装过程中踩过的坑 说明: 为了练习Django项目,准备在虚拟机中安装Centos7+mysql57+python3.在windows环境下通过Navi ...
- ubuntu 系统使用过程中发现桌面突然放大,屏幕跟着鼠标走
ubuntu 系统使用过程中发现桌面突然放大,屏幕跟着鼠标走 解决方法: Alt+鼠标滑轮 可以缩放桌面,问题解决 附:dconf reset -f / 可以将桌面恢复到默认配置
- @Value注解使用过程中遇到的一些坑
笔者结合之前的一些经验教训,再结合一些资料总结了一下@Value注解使用过程中的一些注意事项. 目录 一.@Value无法读取配置文件中的参数 二.@Value出现中文乱码 三.@Value使用的一些 ...
- azkaban的部署过程中遇到的一些坑(部署篇)
2019独角兽企业重金招聘Python工程师标准>>> 1.azkaban源码下载 maven下载地址3.0.0版本:https://gitee.com/wenhaijin_830_ ...
- libx264编码过程中修改码率踩坑记录
问题来源于项目中的一个需求,根据当前网络环境实时调整libx264的码率参数,从而让视频播放更加流畅. 1.设置码率调整算法为ABR. 2.初始化,并提供一个接口供探测网络环境的线程调用.写法大概类似 ...
- 服务器安装Windows Server 2008 R2系统过程中遇到的一些坑
最近客户的一台安装了Windows Server 2008 R2操作系统的服务器老是蓝屏死机,这时候服务器的负载比较高.蓝屏代码如下: 由上图可知,蓝屏代码为0x000000c5,网上搜索大多数都说是 ...
- 程序员、工程师使用mac电脑过程中遇到的各种坑汇总
由于mac电脑的电源待机时间超长,操作便利,系统响应快,超能的命令行,便于携带,越来越多程序猿们开始从windows转向mac.鉴于目前大部分应用都是先有windows版本,然后再开发mac版本,因此 ...
- 日常使用计算机过程中发现的中断,2010年会计从业考试《初级电算化》章节习题及答案(5)...
第五章 1.当月的记账凭证必须全部记账,如有未记账的当月凭证,系统将( ) A.不能结账 B.继续结账 C.放到下月 [答案]:A 2.往来账管理的往来客户档案的设置其最主要内容是( ) A.客户编辑 ...
最新文章
- qregexp限制数字范围_计算一列数字的平均值
- ASP.NET MVC 2 模型验证
- PostgreSQL、Greenplum 日常监控 和 维护任务
- 手机计算机数据消失了怎么恢复,电脑突然黑屏闪退之后怎么恢复丢失的数据
- 计算机编程英语用语,计算机编程英语词汇
- 第14章:傅里叶变换
- Hive内部表与外部表区别详细介绍
- 基于高斯分布的异常检测算法 项目描述
- 新rust怎么拆除围墙_“问题围挡”拆除 街道变漂亮了
- 给被Access过大问题困扰的网站,提供几种解决方案
- ssm共享图书管理系统毕业设计-附源码151121
- 国际结算习题集及答案
- 【OpenCV】特征检测器 FeatureDetector
- 《房地产周期》pdf、mobi、epub、txt下载
- php邮箱必填,discuz关闭邮箱注册必填选项
- 前端必读:浏览器工作原理
- 〖Python 数据库开发实战 - Python与MySQL交互篇④〗- 数据库连接池技术
- 谷粒商城 高级篇 (十四) ---------- 商品详情
- 鲁兴海:英国皇室裁缝合作伙伴--地方--人民网
- 音频交流会(个人学习向项目)
热门文章
- 操作无法完成.键入的打印机名不正确,或者指定的打印机没有连接到服务器上.有关详细信息,请单帮助...
- C++和python先学哪个
- 零基础入门学习Python,我与python的第一次亲密接触后的感受!
- python request file upload_Python基于requests实现模拟上传文件
- php 跨进程读写,php使用多个进程同时控制文件读写示例
- 关于学习tf.random.normal()和tf.random.uniform()的一点小总结
- 关于学习Python的一点学习总结(2->列表)
- 【每日训练】2020/11/9(Splay ?rope大法好!、数论、构造补图)
- 0x17.基础数据结构 - 二叉堆
- linux端口找进程,Linux查看端口、进程情况及kill进程的方法