一、查询数据集合
    1、$admin=Admin::model()->findAll($condition,$params);//该方法是根据一个条件查询一个集合,如: findAll("username=:name",array(":name"=>$username)); 
    2、$admin=Admin::model()->findAllByPk($postIDs,$condition,$params);
    findAllByPk($id,"name like ':name' and age=:age",array(':name'=>$name,'age'=>$age));   //该方法是根据主键查询一个集合,可以使用多个主键,如:         findAllByPk(array(1,2));   
    3、$admin=Admin::model()->findAllByAttributes($attributes,$condition,$params); //该方法是根据条件查询一个集合,可以是多个条件,把条件放到数组里面,如:  findAllByAttributes(array('username'=>'admin')); 
    4、$admin=Admin::model()->findAllBySql($sql,$params); //该方法是根据SQL语句查询一个数组,如: findAllBySql("select *from admin whereusername=:name",array(':name'=>'admin')); 
    二、查询对像的方法  
    1、$admin=Admin::model()->findByPk($postID,$condition,$params);  //根据主键查询出一个对象,如:findByPk(1);   
    2、$row=Admin::model()->find($condition,$params);  //根据一个条件查询出一组数据,可能是多个,但是他只返回第一行数据,如: find('username=:name',array(':name'=>'admin'));  
    3、$admin=Admin::model()->findByAttributes($attributes,$condition,$params); // 该方法是根据条件查询一组数据,可以是多个条件,把条件放到数组里面,他查询的也是第一条数据,如: findByAttributes(array('username'=>'admin'));       
    4、$admin=Admin::model()->findBySql($sql,$params);  //该方法是根据SQL语句查询一组数据,他查询的也是第一条数据,如:  findBySql("select *from admin whereusername=:name",array(':name'=>'admin'));  
    5、拼一个获得SQL的方法,在根据find查询出一个对象  
    $criteria=new CDbCriteria; 
    $criteria->select='username'; // only select the 'title' column 
    $criteria->condition='username=:username';
    $criteria->params=array(":username=>'admin'");
    $post=Post::model()->find($criteria); // $params isnot needed  
    三、查询个数,判断查询是否有结果  
    1、$n=Post::model()->count($condition,$params);  //该方法是根据一个条件查询一个集合有多少条记录,返回一个int型数字,如  count("username=:name",array(":name"=>$username));   
    2、$n=Post::model()->countBySql($sql,$params);  //该方法是根据SQL语句查询一个集合有多少条记录,返回一个int型数字,如 countBySql("select *from admin whereusername=:name",array(':name'=>'admin'));  
    3、$exists=Post::model()->exists($condition,$params);  //该方法是根据一个条件查询查询得到的数组有没有数据,如果有数据返回一个true,否则没有找到    四、添加的方法  $admin=newAdmin; 
    $admin->username=$username;
    $admin->password=$password;
    if($admin->save()>0){
       echo "添加成功";  
    }else{  
       echo "添加失败";  
    }  五、修改的方法  1、Post::model()->updateAll($attributes,$condition,$params);
     $count =Admin::model()->updateAll(array('username'=>'11111','password'=>'11111'),'password=:pass',array(':pass'=>'1111a1'));
    if($count>0){ 
       echo "修改成功";  
    }else{  
       echo "修改失败";  
    }   
  2、Post::model()->updateByPk($pk,$attributes,$condition,$params);
  $count =Admin::model()->updateByPk(1,array('username'=>'admin','password'=>'admin'));
  $count =Admin::model()->updateByPk(array(1,2),array('username'=>'admin','password'=>'admin'),'username=:name',array(':name'=>'admin'));
    if($count>0){ 
       echo "修改成功";  
    }else{  
       echo "修改失败";  
    }  
    //$pk代表主键,可以是一个也可以是一个集合,$attributes代表是要修改的字段的集合,$condition代表条件,$params传入的值  
    3、Post::model()->updateCounters($counters,$condition,$params);
    $count=Admin::model()->updateCounters(array('status'=>1),'username=:name',array(':name'=>'admin'));
    if($count>0){ 
       echo "修改成功";  
    }else{  
       echo "修改失败";  
    }  
    //array('status'=>1)代表数据库中的admin表根据条件username='admin',查询出的所有结果status字段都自加1  
    六、删除的方法  
    1、Post::model()->deleteAll($condition,$params);
    $count = Admin::model()->deleteAll('username=:nameandpassword=:pass',array(':name'=>'admin',':pass'=>'admin'));
    $id='1,2,3'; 
    deleteAll('id in(".$id.")');删除id为这些的数据
    if($count>0){ 
       echo "删除成功";  
    }else{  
       echo "删除失败";  
    }   
    2、Post::model()->deleteByPk($pk,$condition,$params);
    $count = Admin::model()->deleteByPk(1);
    $count =Admin::model()->deleteByPk(array(1,2),'username=:name',array(':name'=>'admin'));
    if($count>0){ 
       echo "删除成功";  
    }else{  
       echo "删除失败";  
    }

yii增删改查的更多相关文章

  1. Yii增删改查操作

    增: 1 第一种 $post=new Post; $post->title='sample post'; $post->content='content for the sample po ...

  2. Yii 增删改查 测试记录

    亲们, 我是yii小白 不要笑话我奥.今天白天写一个管理模块涉及到 yii ar 下的  curd 操作,做 update 操作时纠结了好久,今天晚上花点时间学习, 下面写下我的测试记录 代码如下: ...

  3. Yii数据库操作增删改查-[增加\查询\更新\删除 AR模式]

    在Yii的开发中常常需要去使用Yii的增删改查方法,这些方法又可以多次变化和组合,带来全方位的实现对数据库的处理,下面对这些方法做一些简单的整理和梳理,有遗漏或是BUG,敬请指出.灰常感谢!!! 一. ...

  4. Yii 1.1.17 四、属性标签、AR类增删改查、使用上传类与扩展第三方类库

    一.属性标签与规则设置 当进入网站页面,将会读数据库返回信息到视图上.那么,现在定义模型中的属性在视图标签上的显示, 也就是模型属性到前台标签的映射 // 定义模型属性到前台标签的映射 public ...

  5. yii2 增删改查

    自己总结的yii2 advanced 版本的简单的增删改查,希望对大家有所帮助 1.gii生成的actionCreate()方法中 获取插入语句的id $id = $model->attribu ...

  6. YII2生成增删改查

    下载完成后在basic/db.php配置数据库参数. 1.配置虚拟主机后进入YII入口文件 index.php 进行get传值 ?r=gii ,进入创建界面 2.点击 Model Generator下 ...

  7. Yii2.0高级框架数据库增删改查的一些操作(转)

    yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...

  8. YII2.0 数据库增删改查

    /*==================== dkhBaseModel 数据库增删改查方法 start ================================*/ //新增一条数据 publ ...

  9. yii---进行增删改查

    我们使用yii进行数据的增删改查: 一.新增数据 使用model::save()操作进行新增数据 $user= new User; $user->username =$username; $us ...

随机推荐

  1. Windows下安装Redmine

    参考链接:http://www.cnblogs.com/afarmer/archive/2011/08/06/2129126.html 最新教程:http://www.myexception.cn/w ...

  2. C语言 详解多级指针与指针类型的关系

    //V推论①:指针变量的步长只与‘指针变量的值’的类型有关(指针的值的类型 == 指针指向数据的类型) //指针类型跟指针的值有关,指针是占据4个字节大小的内存空间,但是指针的类型却是各不相同的 // ...

  3. C语言 const常量讲解

    //const的本质 //const本质上是伪常量,无法用于数组初始化以及全局变量初始化 //原因在于const仅仅限定变量无法直接赋值,但是却可以通过指针间接赋值 //例如局部常量在栈区,而不在静态 ...

  4. 修改Tomcat可支持get形式url长度

    maxHttpHeaderSize="8192" 加在 <Connector port="8081" maxHttpHeaderSize="31 ...

  5. C#把某个数组的一部分复制到另一个数组中的两种方法:Buffer.BlockCopy和Array.Copy

    static void Main(string[] args) { , , , , , }; ;//目标数组大小 int int_size = sizeof(int);//用于获取值类型的字节大小. ...

  6. 地图投影——高斯-克吕格投影、墨卡托投影和UTM投影

    地图投影(Map Projection) http://baike.baidu.com/view/94066.htm 概念: 地图投影是把地球表面的任意点,利用一定数学法则,转换到地图平面上的理论和方 ...

  7. [iOS翻译]Cocoa编码规范

        简介: 本文整理自Apple文档<Coding Guidelines for Cocoa>.这份文档原意是给Cocoa框架.插件及公共API开发者提供一些编码指导,实质上相当于Ap ...

  8. ubuntu16.04下安装jdk和android studio

    1首先要在JDK官网下载对应的Linux的JDK版本.进入该网站后,先选择Accept License Agreement然后即可下载.本人的Linux系统为ubuntukylin 16.04  64 ...

  9. [CareerCup] 1.7 Set Matrix Zeroes 矩阵赋零

    1.7 Write an algorithm such that if an element in an MxN matrix is 0, its entire row and column are ...

  10. SpringMVC 中HttpMessageConverter简介和Http请求415 Unsupported Media Type的问题

    一.概述: 本文介绍且记录如何解决在SpringMVC 中遇到415 Unsupported Media Type 的问题,并且顺便介绍Spring MVC的HTTP请求信息转换器HttpMessag ...