1. 程式人生 > >ThinkPHP自動完成更新繫結的欄位更新無效的問題

ThinkPHP自動完成更新繫結的欄位更新無效的問題

本人親測,並且已經找到問題,這問題也曾經一度讓本尊很蛋疼,今天就來揭開它的真面目

這個原因就是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 預設情況下由系統自動識別。

這個是本人親自測試有效的,希望能幫到你,有不妥之處給給予指出,如果你覺得有用,請給點個贊,如果還有什麼問題,請部落格私聊或者給我留言,謝謝!