thinkphp中的add方法法用于向數據表添加數據,相當于sql中的INSERT INTO行為,其使用語法如“if($lastInsId = $Dao->add($data)){…}”。
本教程操作環境:Windows7系統、thinkphp5版、Dell G3電腦。
thinkphp中的add方法怎么用?
ThinkPHP 添加數據 add() 方法
ThinkPHP 內置的 add() 方法用于向數據表添加數據,相當于 SQL 中的 INSERT INTO 行為。
立即學習“PHP免費學習筆記(深入)”;
ThinkPHP Insert 添加數據
添加數據 add 方法是 CURD(Create,Update,Read,delete / 創建,修改,讀取,刪除)中的 Create 的實現,ThinkPHP 支持以普通數組方式和面向對象方式將數據寫入數據表。
在 IndexAction 控制器(Lib/Action/IndexAction.class.php)里,添加 insert() 操作:
public?function?insert(){ ????header("Content-Type:text/html;?charset=utf-8"); ????$Dao?=?M("User");//?實例化模型類 ????//?構建寫入的數據數組 ????$data["username"]?=?"小王"; ????$data["password"]?=?md5("123456"); ????$data["email"]?=?"12345@163.com"; ????$data["regdate"]?=?time(); ????//?寫入數據 ????if($lastInsId?=?$Dao->add($data)){ ????????echo?"插入數據?id?為:$lastInsId"; ????}?else?{ ????????$this->error('數據寫入錯誤!'); ????} }
訪問執行該操作:http://127.0.0.1/think/index.php/Index/insert
語法解讀
-
M(“User”) 用于高效實例化一個數據模型(M 是 new Model 的簡寫,稱為快捷方法),參數為要操作的表名。
-
接下來構建要保存數據的數組 $data 。
-
最后是用 add() 方法將數據寫入庫表,由于使用的是 M快捷方法,需要將 $data 數組傳入 add() 方法。
-
add() 方法如果添加數據記錄成功,返回的是新數據記錄主鍵,可直接得到。
該例子實際運行的 SQL 為:
INSERT?INTO?user(username,password,email,regdate)?VALUES?('小王','e10adc3949ba59abbe56e057f20f883e', '12345@163.com',1283612673)
對象方式添加數據
上面的方式是以構造數據數組的方式,然后將數據以參數形式傳入 add 方法寫入數據表。ThinkPHP 也支持以對象的方式將數據寫入數據表,將上面的代碼更改為:
public?function?insert(){ ????header("Content-Type:text/html;?charset=utf-8"); ????$Dao?=?M("User");//?實例化模型類 ????//?數據對象賦值 ????$Dao->username?=?"小王"; ????$Dao->password?=?md5("123456"); ????$Dao->email?=?"12345@163.com"; ????$Dao->regdate?=?time(); ????//?寫入數據 ????if($lastInsId?=?$Dao->add()){ ????????echo?"插入數據?id?為:$lastInsId"; ????}?else?{ ????????$this->error('數據寫入錯誤!'); ????} }
對象方式除了數據以數據對象方式賦值外,在調用 add 方法寫入數據的時候不需要傳遞參數。
推薦學習:《thinkPHP視頻教程》