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.
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!
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
You can see the successful return value
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!