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视频教程》