ホームページ > 記事 > PHPフレームワーク > 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:テーブル 'MovierDC.praise' が存在しません [SQL ステートメント]: SHOW COLUMNS FROM賞賛
インターネットで設定項目を変更するための説明を見つけました。
'DB_PARAMS' => array(\PDO::ATTR_CASE => \PDO::CASE_NATURAL),
後で知ったのですが、他の人の質問に答えるために単にコピペして間違っている人もいたようです。これは構成テーブルのフィールドであり、大文字と小文字は区別されません。
設定テーブル名に関する設定項目が見つかりません。そこで、ソース コードから直接 (エラー レポートに注目して) 始めました。主に 2 つの関数です。 1 つはすべての文字を小文字に変換する関数で、もう 1 つは分割して再構成する関数です。 小文字に変換された関数を削除し、分割され再編成された関数も削除します。ようやくうまくいきました。
推奨チュートリアル:「TP5」
以上がThinkphp はデータテーブル名の大文字と小文字を認識できず、問題を解決できませんの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。