Rumah > pembangunan bahagian belakang > tutorial php > Thinkphp 数据库表名区分大小写问题

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

WBOY
Lepaskan: 2016-06-20 12:38:21
asal
2190 orang telah melayarinya

这是我控制器的代码

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

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

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

有没有碰到类似的问题,怎么解决? 求职!


回复讨论(解决方案)

windows 中不会有问题
linux 中就不好说了
 

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

'DB_PARAMS' => array(\PDO::ATTR_CASE => \PDO::CASE_NATURAL),
这个配置是  让字段名不区分大小写。对表名无效。

我自己看了源代码,这是thinkphp默认将所有表名转换成小写,大写的在大写字母中间拆开,用_连接,并将大写字母改成小写。
我查不到关于配置表名的配置项。所以我直接从源代码入手,将转换成小写的函数去掉,拆分重组的函数也去掉。最后能用了。

那么久才上CSDN自己把帖子结了!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan