百搜论坛欢迎您的加入!
adimg adimg
 
昨日:篇  今日:篇   总帖:篇   会员:
博主最大Lv63   
thinkphp无法识别数据表名大小写问题解决     

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

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

出错代码:

1

2

3

4

5

6

7

8

9

10

11

12

<?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

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

1

'DB_PARAMS' => array(\PDO::ATTR_CASE => \PDO::CASE_NATURAL),

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

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

推荐教程:《TP5

以上就是thinkphp无法识别数据表名大小写问题解决的详细内容

 0  已被阅读了983次  楼主 2020-06-23 10:22:58
回复列表

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

联系站长 友链申请桂ICP备19000949号-1     桂ICP备19000949号-1
您的IP:3.145.166.7,2024-05-08 02:12:45,Processed in 0.02323 second(s).
免责声明: 本网不承担任何由内容提供商提供的信息所引起的争议和法律责任。
Powered by HadSky 7.12.9
已有0次打赏
(0) 分享
分享
取消
免责声明
1、本站资源,均来自网络,版权归原作者,所有资源和文章仅限用于学习和研究目的 。
2、不得用于商业或非法用途,否则,一切责任由该用户承担 !
如果觉得本文还不错请点个赞或者打赏点轻币哦~
拒绝伸手党,拿走请回复,尊重楼主,尊重你我他~

侵权删除请致信 E-Mail:207882320@qq.com