Maison >cadre php >PensezPHP >Que faire si la méthode thinkphp create échoue

Que faire si la méthode thinkphp create échoue

藏色散人
藏色散人original
2022-12-06 10:21:221450parcourir

Solution à l'échec de la méthode thinkphp create : 1. Écrivez une méthode de test pour simuler les données saisies par l'utilisateur sur la page front-end, avec un code tel que "public function insert2(){...}" 2 ; . Ajoutez une valeur par défaut au champ d'état dans la base de données. Définissez simplement la valeur sur 1 et enregistrez les paramètres.

Que faire si la méthode thinkphp create échoue

L'environnement d'exploitation de ce tutoriel : système Windows 7, THINKPHP version 5.1, ordinateur Dell G3.

Que dois-je faire si la méthode thinkphp create échoue ?

Pour résoudre le problème de l'échec d'écriture de la méthode create dans le modèle THINKPHP5.1, mais il n'y a pas de message d'erreur

L'idée est d'écrire une méthode de test pour simuler les données saisies par l'utilisateur sur la page précédente et enregistrez-le sous $data, similaire au code suivant

  public function insert2()
    {
        $data = [
            'name'=>'chen',
            'password'=>'abc1234',
            'email'=>'chen@qq.com',
            'mobile'=>'18285859696'
        ];
        return UserModel::create($data);
    }

Accédez à cette méthode dans le navigateur et renvoyez les résultats suivants. Vous pouvez voir que le statut du champ n'a pas de valeur par défaut et que nous ne lui avons pas transmis de valeur, donc le. La méthode create n'a pas réussi à écrire !

Que faire si la méthode thinkphp create échoue

Capture d'écran des champs dans la base de données. Il n'y a en effet pas de valeur par défaut pour le champ d'état dans la base de données. On coche l'option valeur par défaut, puis on donne une valeur de 1, on l'enregistre et on réessaye

. Que faire si la méthode thinkphp create échoue

Vous pouvez voir que la valeur a été renvoyée avec succès

Que faire si la méthode thinkphp create échoue

Expérience : la prochaine fois que vous rencontrerez une situation où aucune erreur n'est demandée, écrivez simplement une nouvelle méthode pour simuler les données frontales. Une autre méthode très importante consiste à jeter un œil. Le journal sous l'exécution affichera également l'erreur correspondante

[ info ] [ DB ] INIT mysql
[ sql ] [ DB ] CONNECT:[ UseTime:0.001346s ] mysql:host=localhost;dbname=zh;charset=utf8
[ sql ] [ SQL ] SHOW COLUMNS FROM `zh_user` [ RunTime:0.001726s ]
[ error ] [10501]SQLSTATE[HY000]: General error: 1364 Field 'status' doesn't have a default value[D:\Wamp64\www\zh\thinkphp\library\think\db\Connection.php:7

l'erreur est l'erreur, et indiquera également que le champ « statut » n'a pas de valeur par défaut

Problème résolu !

Apprentissage recommandé : "Tutoriel vidéo thinkPHP"

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn