说道数据的修改就是主要用到了save的方法。
在建立对象的时候无论是用D方法还是用M的方法,都可以相应的正确建立对象。
然后,在我们建立完对象之后,我们就应该确定自己要修改的属性以及他的值,然后可以用建立关联数组的方法,写入要修改的数据。
当上面的工作完成之后,就应该用我们的save方法进行修改。
下面是自己的实例:
function update(){
$goods=M("emptest");
$arr=array(‘id‘=>‘7‘,‘name‘=>‘xu2xuning‘,‘salary‘=>5555);
$res=$goods->save($arr);
//这里返回的是被影响的行数,在crud的操作里面,都是返回的受影响的行数,dql是返回的结果集
echo $res;
}
同样的我们也可以用AR的方式逐步添加,但是,这里就遇到了一个问题,数据设计完成之后就能够直接保存了,这里显然是不可能的。
所以这里支持和where语句通用,这样的话,对于数据的修改那就是再方便不过了,即以下的方法:
$goods=D("emptest");
$goods->name="Cool";
$goods->garde="2";
$goods->email="[email protected]";
$goods->salary="7777";
$goods->where(‘id=2‘)->save();
返回值和上面的是同一数据。
接下来就是数据的删除,说道删除,看着挺简单的;
这是删除指定主键的数据行。
function delete(){
$goods=D("emptest");
$goods->delete(9);
}
也可以删除多个主键的值得行。
$goods->delete(”1,2,3“); //注意,一定要带引号
同样的,也可以条件性的删除操作。
$goods->where("id>=13 and id<=18")->delete();
这样,增删该查在thinkphp的方法就基本上完成了,还要说的就是执行原生的sql语句。
一般的额增删改查sql语句可以分为两种,一种是数据查询,也可以理解为select语句
另一种是数据操作语句,因为两种语句的返回值是不同的,之前都说过的,所以在ThinkPHP中
执行的方法也是不同的。
dql语句:用query方法(不再是传统的万能方法了),返回数组【1】
dml语句:用execute方法,返回的是布尔值。【2】
【1】:
function test(){
$goods=D("emptest");
$sql="select * from emptest";
$res=$goods->query($sql);
show_bug($res);//这是我自己定义的一个方法,就是var_dump
}
【2】:
function testdml(){
$goods=D("emptest");
$sql="update emptest set name=‘hell‘ where id=7";
$res=$goods->execute($sql);
show_bug($res);
}