您好,登录后才能下订单哦!
这篇文章主要介绍thinkphp无法识别数据表名大小写怎么办,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
前段时间刚接触thinkphp的时候,第一次使用就出现了数据库表名大小写的问题。thinkphp默认是将所有大写改小写,并在中间加一个_符号。
后来自己通过修改源代码,能够正常运行了,但是时间太久忘记自己是怎么改的。这里只说解决方法,没有具体实现步骤。
出错代码:
<?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),
后来知道,都是一些人随便复制粘贴回答别人问题搞错了。这是一个配置表中字段不区分大小写的。
我查不到关于配置表名的配置项。所以我直接从源代码入手(重点看报错的地方),主要是两个函数,一个是将字母全部转换成小写字母的函数,一个是拆分重组的函数。将转换成小写的函数去掉,拆分重组的函数也去掉。最后能用了。
以上是“thinkphp无法识别数据表名大小写怎么办”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。