thinkphp create方法失敗的解決辦法:1、寫一個測試方法,模擬前端頁面用戶輸入的數據,代碼如“ ?public function insert2(){…}”;2、給數據庫中的status字段添加默認值為1并保存設置即可。
本教程操作環境:Windows7系統、THINKPHP5.1版、Dell G3電腦。
thinkphp create方法失敗怎么辦?
解決THINKPHP5.1模型中create方法寫入失敗,但是沒有錯誤提示
思路,寫一個測試方法,模擬前段頁面用戶輸入的數據,保存為$data,類似下面的代碼
立即學習“PHP免費學習筆記(深入)”;
??public?function?insert2() ????{ ????????$data?=?[ ????????????'name'=>'chen', ????????????'password'=>'abc1234', ????????????'email'=>'chen@qq.com', ????????????'mobile'=>'18285859696' ????????]; ????????return?UserModel::create($data); ????}
在瀏覽器中訪問一下這個方法,返回如下結果,可以看到,字段status是沒有默認值的,而我們也沒有給他傳遞值,所以create方法寫入失敗了!
數據庫中的字段截圖,數據庫中status字段確實沒有默認值,我們給默認值選項打上勾,然后給個1值,保存然后再試試
?
?
可以看到已經成功的返回值了
?
?
?
心得:下次遇到不提示錯誤的情況,就寫一個新方法,模擬前端的數據,還有個很重要的方法就是,也要去看runtime下的log,它也會提示相應的錯誤
[?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:Wamp64wwwzhthinkphplibrarythinkdbConnection.php:7
error就是錯誤,也提示了Field ‘status’ doesn’t have a default value
?
問題解決!
推薦學習:《thinkPHP視頻教程》
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦