数据库操作之原生sql操作
<?php namespace appindexcontroller; use thinkDb; class Index { public function index() { echo "hello world"; } public function sqlAdd(){ //插入数据 $result=Db::execute('insert into think_test (name,state) values("周杰伦",1)'); var_dump($result);//返回受影响的行数 } public function sqlUpd(){ //修改数据 $result=Db::execute('update think_test set name="张学友",state=0 where id=1'); var_dump($result);//返回受影响的行数 } public function sqlDel(){ //删除数据 $result=Db::execute('delete from think_test where id=1'); var_dump($result);//返回受影响的行数 } public function sqlSel(){ //查询数据 $result=Db::query('select * from think_test'); var_dump($result);//返回数组 } }
数据库操作之查询构造器
//==========================查询构造器========================== public function tabAdd(){ //插入数据 如果不写表前缀 把table改为name即可 $result=Db::table('think_test')->insert(['name'=>'段誉','state'=>1]); var_dump($result); } public function tabUpd(){ //修改数据 如果不写表前缀 把table改为name即可 $result=Db::table('think_test')->where('id',9)->update(['name'=>'虚竹']); var_dump($result); } public function tabDel(){ //删除数据 如果不写表前缀 把table改为name即可 $result=Db::table('think_test')->where('id',9)->delete(); var_dump($result); } public function tabSel(){ //查询数据 如果不写表前缀 把table改为name即可 $result=Db::table('think_test')->select(); var_dump($result); } //使用助手函数db public function dbSel(){ $db=db('test');//参数为表名 $result=$db->select(); var_dump($result); //其他操作类似 //ps:助手函数db默认每次都会重新连接数据库,所以不推荐使用 } //链式操作 public function linkSel(){ $list=Db::name('test') ->where('state',1) ->field(['name','state']) ->order('id','desc') ->limit(10) ->select(); var_dump($list); //ps:链式操作select() 要在最后 其他条件顺序无所谓 //更多方法请查询手册 }
数据库操作之模型
<?php namespace appindexcontroller; use appindexmodelUser as UserModel; class User { //==========================模型========================== /*模型是一种对象关系映射简称ORM,一般来说每个数据表会和一个模型对应 ,模型不是简单的CURD操作,那种用Db类即可,模型的Db类的区别在于,模型 查询返回的是对象,Db查询返回的是数组,模型是比Db类更高级的数据封装 */ //插入数据属性 public function add1(){ $user = new UserModel(); $user->name = '郭靖'; $user->email = 'guojing@qq.com'; $user->birthday = strtotime('2000-1-1'); if($user->save()){ return '插入成功'; }else{ return '插入失败'; } } //插入数据数组 public function add2(){ $user['name'] = '黄蓉'; $user['email'] = 'huangrong@qq.com'; $user['birthday'] = strtotime('2003-1-1'); if(UserModel::create($user)){ return '插入成功'; }else{ return '插入失败'; } } //插入数据多条 public function addList(){ $user = new UserModel(); $list = [ ['name'=>'张三','email'=>'zhangsan@qq.com','birthday'=>strtotime('2000-1-1')], ['name'=>'李四','email'=>'lishi@qq.com','birthday'=>strtotime('2005-1-1')] ]; if($user->saveAll($list)){ return '插入成功'; }else{ return '插入失败'; } } //更新数据 查找并更新 public function upd1(){ $user = UserModel::get(1);//参数为id // var_dump($user); $user->name = '刘德华'; $user->email = 'liudehua@qq.com'; if($user->save()){ return '更新成功'; }else{ return '更新失败'; } } //更新数据 直接更新 public function upd2(){ $user = new UserModel(); $user -> save(['name'=>'郭富城','email'=>'guofucheng@qq.com'],['id'=>1]); } //更新数据 多条 public function upd3(){ $user = new UserModel(); $list=[ ['id'=>1,'name'=>'张三丰','email'=>'zsf@qq.com'], ['id'=>2,'name'=>'欧阳锋','email'=>'oyf@qq.com'] ]; if($user->saveAll($list)){ return '更新成功'; }else{ return '更新失败'; } } //查询数据 id public function select1(){ $user = UserModel::get(1); echo $user->name.'<br/>'; echo $user->email.'<br/>'; echo $user->birthday.'<br/>'; } //查询数据 数组 public function select2(){ $user = UserModel::get(['name'=>'张三']); echo $user->name.'<br/>'; echo $user->email.'<br/>'; echo $user->birthday.'<br/>'; } //查询数据 public function select3(){ $user = new UserModel(); $result = $user->where('name','张三')->find(); echo $result->birthday; } //查询数据 多个数据 public function selectAll(){ $list = UserModel::all([1,2,3]); foreach ($list as $key => $value) { echo $value->name.'<br/>'; echo $value->email.'<br/>'; echo $value->birthday.'<br/>'; } } }