您的位置:首页 > 编程语言 > PHP开发

ThinkPHP实现对数据库中表的修改删除以及两种原生SQL语句的执行

2015-04-02 20:39 696 查看
说道数据的修改就是主要用到了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="Cool@qq.com";

$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);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐