ThinkPHP5.0数据库操作之查询构造器
Think PHP5.0查询构造器使用PDO参数绑定可以方便执行数据库操作,以免应用程序免于SQL注入,因此传入参数不需要额外的转移特殊字符
app\index\controller\index\index.php
public function db()
{
// 插入记录
// $result = Db::table('think_data')->insert(['name'=>'黄晓明','status'=>1]);
// dump($result);
//更新操作
// $result = Db::table('think_data')->where ('id',1)->update(['name'=>'刘德华','status'=>0]);
// dump($result);
//查询(不写查询条件出来的是一个二维数组,写了查询条件,出来的是一个值)
// $result = Db::table('think_data')->where('id',1)->select();
//删除操作
// $result = Db::table('think_data')->where('id',1)->delete();
}
由于在数据库配置文件中设置了数据库前缀为think_,因此,table方法可以改为name 方法,这样就不会因为数据库前缀的修改而改动CURD代码,例如:
如果使用系统助手函数db,可进一步简化代码
(db助手函数默认会每次重新链接数据库,因此应当尽量避免多次调用)
链式操作(可以完成复杂的数据库查询操作)
链式操作不分先后,只要在查询方法(select方法)前调用就可以了,所以下面查询等价的。
1.查询数据
2.添加数据
添加多条记录
(要把变量放在调用之前)
3.更新数据
更新某个字段的值
setField方法返回影响数据的条数,没修改任何数据字段返回0;
$result = Db::name('data')->where('id',1)->setField('name','thinkphp');
自增或者自减某一字段值
$result = Db::name('data')->where('id',6)->setInc('stadus');
//默认选来数字加一
$result = Db::name('data')->where('id',7)->setDec('stadus',2);
//原来是四,在原基础-2
时间:2018.4.21