Thinkphp 数据库表名区分大小写问题

春风不及你的笑 2015-12-29 09:22:37
这是我控制器的代码

<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
public function index(){
$result=M('Praise');
$a=$result->select();
var_dump($a);
die;
$this->display();
}
}

这是报错:
1146:Table 'MovierDC.praise' doesn't exist [ SQL语句 ] : SHOW COLUMNS FROM `praise`
声明一下,我的表名没错,数据库中有一个全小写的表,查询正常。这个首字母大写就不行

以下是尝试过的方法,没用
'DB_PARAMS' => array(\PDO::ATTR_CASE => \PDO::CASE_NATURAL),

有没有碰到类似的问题,怎么解决? 求职!
...全文
517 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
'DB_PARAMS' => array(\PDO::ATTR_CASE => \PDO::CASE_NATURAL), 这个配置是 让字段名不区分大小写。对表名无效。 我自己看了源代码,这是thinkphp默认将所有表名转换成小写,大写的在大写字母中间拆开,用_连接,并将大写字母改成小写。 我查不到关于配置表名的配置项。所以我直接从源代码入手,将转换成小写的函数去掉,拆分重组的函数也去掉。最后能用了。 那么久才上CSDN自己把帖子结了!
  • 打赏
  • 举报
回复
'DB_PARAMS' => array(\PDO::ATTR_CASE => \PDO::CASE_NATURAL),
xuzuning 2015-12-29
  • 打赏
  • 举报
回复
windows 中不会有问题 linux 中就不好说了

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧