Lorsque je suis entré en contact avec thinkphp pour la première fois il y a quelque temps, il y avait un problème avec le cas des noms de tables de base de données lorsque je l'ai utilisé pour la première fois. Par défaut, thinkphp change toutes les lettres majuscules en lettres minuscules et ajoute un symbole _ au milieu.
Plus tard, j'ai modifié le code source et il a pu fonctionner normalement, mais cela a pris tellement de temps que j'ai oublié comment je l'avais modifié. Nous ne parlons ici que de solutions, sans étapes spécifiques de mise en œuvre.
Code d'erreur :
<?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(); } }
L'erreur est comme ceci
1146 : La table 'MovierDC.praise' n'existe pas [Instruction SQL] : SHOW COLUMNS FROM louange
J'ai trouvé une explication sur Internet sur la modification des éléments de configuration
'DB_PARAMS' => array(\PDO::ATTR_CASE => \PDO::CASE_NATURAL),
Plus tard, j'ai découvert que certaines personnes avaient simplement copié et collé pour répondre aux questions des autres et avaient fait une erreur. Il s'agit d'un champ de table de configuration qui n'est pas sensible à la casse.
Je ne trouve pas l'élément de configuration concernant le nom de la table de configuration. Je suis donc parti directement du code source (focus sur le rapport d'erreurs), principalement deux fonctions, L'une est une fonction qui convertit toutes les lettres en lettres minuscules, et l'autre est une fonction qui divise et réorganise. Supprimez les fonctions converties en minuscules, et les fonctions divisées et réorganisées sont également supprimées. Finalement ça marche.
Tutoriel recommandé : "TP5"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!