ThinkPHP自動完成更新繫結的欄位更新無效的問題
阿新 • • 發佈:2019-02-12
本人親測,並且已經找到問題,這問題也曾經一度讓本尊很蛋疼,今天就來揭開它的真面目
這個原因就是create()方法使用不當導致的,一般的童鞋都會直接用,例如下寫法
一般最常用寫法:
D('資料庫名稱')->create(); //這種情況都是靠系統去判斷的,有時準,有時不準,然後很多童鞋就蛋疼了
規範寫法:
①:通過POST方式接收的資料,且將接收的資料插入到資料庫
D('資料庫名稱')->create($_POST,1);
②:通過GET方式接收的資料,且將接收的資料插入到資料庫
D('資料庫名稱')->create($_GET,1);
③:通過POST方式接收的資料,且將接收的資料更新
D('資料庫名稱')->create($_POST,2);
④:通過GET方式接收的資料,且將接收的資料更新到資料庫
D('資料庫名稱')->create($_GET,2);
解釋:
create 方法語法如下:
create(mixed data, string type)mixed data表示接收的資料,string type 表示本次的具體操作(寫入還是更新資料,1為寫入,2為更新)。兩個引數都可省略,而且一般用tp框架的人也喜歡這麼寫,data 引數省略的情況下預設為接受 $_POST 資料,而 type 預設情況下由系統自動識別。
這個是本人親自測試有效的,希望能幫到你,有不妥之處給給予指出,如果你覺得有用,請給點個贊,如果還有什麼問題,請部落格私聊或者給我留言,謝謝!