解决Thinkphp从数据库调出来的字段都变成小写
2016-06-17 10:58
756 查看
方法一:
修改核心thinkphp文件下Library/Db/Driver.class.php文件,把
PDO::ATTR_CASE => PDO::CASE_LOWER 改为 PDO::ATTR_CASE => PDO::CASE_NATURAL,
或者在配置文件里面增加
DB_PARAMS’ => array(\PDO::ATTR_CASE => \PDO::CASE_NATURAL)
方法二:
thinkphp执行的时候默认会把大写转换成小写,找到底层的源码禁止转换。修改Common/functions.php的parse_name函数:
修改其中一句,这样就可以解决数据库字段名大写的问题。
修改核心thinkphp文件下Library/Db/Driver.class.php文件,把
PDO::ATTR_CASE => PDO::CASE_LOWER 改为 PDO::ATTR_CASE => PDO::CASE_NATURAL,
或者在配置文件里面增加
DB_PARAMS’ => array(\PDO::ATTR_CASE => \PDO::CASE_NATURAL)
方法二:
thinkphp执行的时候默认会把大写转换成小写,找到底层的源码禁止转换。修改Common/functions.php的parse_name函数:
function parse_name($name, $type=0) { /* if ($type) { return ucfirst(preg_replace_callback('/_([a-zA-Z])/', function($match){return strtoupper($match[1]);}, $name)); } else { //你会发现原来是这里会将数据库表名里的大写转换为 小写,修改成不转换即可 return strtolower(trim(preg_replace("/[A-Z]/", "_\\0", $name), "_")); }*/ return $name; } 注释掉的原来的,未注释是新增的。 修改Library/Think/Model.class.php的getTableName函数: //$this->trueTableName = strtolower($tableName); //这里会将表名转换成小写,修改成不转换 $this->trueTableName = $tableName;
修改其中一句,这样就可以解决数据库字段名大写的问题。
相关文章推荐
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- kindeditor 批量上传 上传失败 thinkphp swfupload session
- PHP中PDO基础教程 入门级
- ThinkPHP关联模型操作实例分析
- thinkphp3.0 模板中函数的使用
- ThinkPHP中where()使用方法详解
- ThinkPHP采用<volist>实现三级循环代码实例
- Thinkphp模板标签if和eq的区别和比较实例分析
- PHP中PDO连接数据库中各种DNS设置方法小结
- PHP的PDO常用类库实例分析
- 对PHP PDO的一些认识小结
- 合并ThinkPHP配置文件以消除代码冗余的实现方法
- ThinkPHP中自定义目录结构的设置方法
- PHP中PDO的错误处理
- ThinkPHP控制器详解
- PHP使用PDO操作数据库的乱码问题解决方法
- PDO取Oracle lob大字段,当数据量太大无法取出的问题的解决办法
- ThinkPHP自动转义存储富文本编辑器内容导致读取出错的解决方法
- 解析thinkphp中的M()与D()方法的区别
- PHP PDO函数库(PDO Functions)第1/2页