Home  >  Article  >  PHP Framework  >  What to do if thinkphp create method fails

What to do if thinkphp create method fails

藏色散人
藏色散人Original
2022-12-06 10:21:221351browse

The solution to the failure of thinkphp create method: 1. Write a test method to simulate the data input by the user on the front-end page, with code such as "public function insert2(){...}"; 2. Give the data in the database Add a default value of 1 to the status field and save the settings.

What to do if thinkphp create method fails

The operating environment of this tutorial: Windows 7 system, THINKPHP version 5.1, Dell G3 computer.

What should I do if the thinkphp create method fails?

Solve the problem that the create method in the THINKPHP5.1 model fails to write, but there is no error prompt

Idea, write a test method to simulate the user input on the previous page Data is saved as $data, similar to the following code

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

Access this method in the browser and return the following results. You can see that the field status has no default value, and we have not passed it to it. value, so the create method failed to write!

What to do if thinkphp create method fails

Screenshot of the fields in the database. There is indeed no default value for the status field in the database. We check the default value option, then give a value of 1, save it and try again

What to do if thinkphp create method fails

You can see the successful return value

What to do if thinkphp create method fails

Experience: Next time you encounter a situation where no error is prompted, just write a new method to simulate the front-end data. Another very important method is to also look at the log under runtime, it will also It prompts the corresponding error

[ 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

error is an error, and also prompts Field 'status' doesn't have a default value

Problem solved!

Recommended learning: "thinkPHP Video Tutorial"

The above is the detailed content of What to do if thinkphp create method fails. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn