首页 > php框架 > ThinkPHP > 正文

thinkphp无法识别数据表名大小写问题解决

发布: 2020-05-02 09:00:37
转载
3157 人浏览过

thinkphp无法识别数据表名大小写问题解决

前段时间刚接触thinkphp的时候,第一次使用就出现了数据库表名大小写的问题。thinkphp默认是将所有大写改小写,并在中间加一个_符号。

后来自己通过修改源代码,能够正常运行了,但是时间太久忘记自己是怎么改的。这里只说解决方法,没有具体实现步骤。

出错代码:

<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
    public function index(){
           $result=M(&#39;Praise&#39;);
        $a=$result->select();
        var_dump($a);
        die;
        $this->display();
    }
}
登录后复制

报错是这样的

1146:Table ‘MovierDC.praise’ doesn’t exist [ SQL语句 ] : SHOW COLUMNS FROM praise

在网上找到一个说法,修改配置项

&#39;DB_PARAMS&#39; => array(\PDO::ATTR_CASE => \PDO::CASE_NATURAL),
登录后复制

后来知道,都是一些人随便复制粘贴回答别人问题搞错了。这是一个配置表中字段不区分大小写的。

我查不到关于配置表名的配置项。所以我直接从源代码入手(重点看报错的地方),主要是两个函数,一个是将字母全部转换成小写字母的函数,一个是拆分重组的函数。将转换成小写的函数去掉,拆分重组的函数也去掉。最后能用了。

推荐教程:《TP5

以上是thinkphp无法识别数据表名大小写问题解决的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:csdn.net
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板