首頁 > 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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板