您好,登錄后才能下訂單哦!
這篇文章主要介紹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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。