ThinkPHP3.2.3 MySQL数据库表字段大小写问题

TP3.2.3查询数据库表时,默认表字段转小写
Think\Db(命名空间)下的 Driver.class.php。 如下图:

PDO::ATTR_CASE (integer)    用类似 PDO::CASE_* 的常量强制列名为指定的大小写。(8)
PDO::CASE_NATURAL (integer) 保留数据库驱动返回的列名。(0)
PDO::CASE_UPPER (integer)   强制列名大写。(1)
PDO::CASE_LOWER (integer)   强制列名小写。(2)

在不修改Driver.class.php的条件下,可以通过下面两种方法来解决问题:
1.数据库配置(全局):

'DB_PARAMS' => array(\PDO::ATTR_CASE => \PDO::CASE_NATURAL),
// 或者
'DB_PARAMS' => array(8 => 0),

2.局部:

// 1).M()方法 
M($name='', $tablePrefix='',$connection='mysql://user:password@localhost:3306/db_name?' . \PDO::ATTR_CASE . '=' . \PDO::CASE_NATURAL . '#utf8')

// 2).模型(继承Model)属性 
protected $connection = 'mysql://user:password@localhost:3306/db_name?' . \PDO::ATTR_CASE . '=' . \PDO::CASE_NATURAL . '#utf8'

// 或者 mysql://user:password@localhost:3306/db_name?8=0#utf8

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值