thinkphp中的add方法法用於向資料表新增數據,相當於SQL中的INSERT INTO行為,其使用語法如「if($lastInsId = $Dao->add($data)) {...}」。
本教學操作環境:Windows7系統、ThinkPHP5版、Dell G3電腦。
thinkphp中的add方法怎麼用?
ThinkPHP 新增資料add() 方法
ThinkPHP 內建的add() 方法用於向資料表新增數據,相當於SQL 中的INSERT INTO行為。
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影片教學》
以上是thinkphp中的add方法怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!