Yii框架数据库查询、增加、删除操作示例


Posted in PHP onOctober 14, 2019

本文实例讲述了Yii框架数据库查询、增加、删除操作。分享给大家供大家参考,具体如下:

Yii 数据库查询

模型代码:

<?php
namespace app\models;
use yii\db\ActiveRecord;
class Test extends ActiveRecord{
}

控制器代码:

public function actionTest(){
    //方法一
    $sql = 'select * from test where id=:id';
    $data = Test::findBySql($sql,array(':id'=>1))->all();
    var_dump($data);//数组
    //方法二
    $data = Test::find()->where(['id'=>1])->all();
    var_dump($data);//复杂的对象信息
    // 查询条件>的使用
    $data = Test::find()->where(['>','id',1])->all();
    var_dump($data);//复杂的对象信息
    // 查询条件 between 的使用
    $data = Test::find()->where(['between','id',2,5])->all();
    var_dump($data);//复杂的对象信息
    // 查询条件 like 的使用
    $data = Test::find()->where(['like','title','title1'])->all();
    var_dump($data);//复杂的对象信息
    //查询结果对象转化为数组,使用asArray
    $data = Test::find()->where(['between','id',2,5])->asArray()->all();
    var_dump($data);//复杂的对象信息
    //批量查询,例如每次获取2条
    $data = array();
    foreach(Test::find()->asArray()->batch(2) as $tests){
      foreach($tests as $val){
        $data[] = $val;
      }
    }
    print_r($data);
  }

总结,主要注意防止sql注入的占位符的使用,各种查询条件的使用,转化数组的使用,批量查询的使用。

yii 数据库增加数据

模型代码:

<?php
namespace app\models;
use yii\db\ActiveRecord;
class Test extends ActiveRecord{
  public function rules()
  {
    return [
      ['title','string','length'=>[0,10]]
    ];
  }
}

控制器代码:

public function actionTest(){
    //添加数据
    $test = new Test;
    $test->title = '';
    $test->validate();
    if ($test->hasErrors()) {
      echo 'error';
    } else {
      $test->save();
    }
  }

结论:保存数据及验证数据。

yii 数据库删除数据

public function actionTest(){
    //删除
    //方法一
    $result = Test::find()->where(['id' => 1])->all();
    $result[0]->delete();
    //方法二
    Test::deleteAll('id>:id', array(':id' => 5));
  }

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

PHP 相关文章推荐
生成sessionid和随机密码的例子
Oct 09 PHP
编写漂亮的代码 - 将后台程序与前端程序分开
Apr 23 PHP
PHP连接SQLServer2005 的问题解决方法
Jul 19 PHP
PHP里的中文变量说明
Jul 23 PHP
PHP 基于文件头的文件类型验证类函数
May 01 PHP
web站点获取用户IP的安全方法 HTTP_X_FORWARDED_FOR检验
Jun 01 PHP
php快递单号查询接口使用示例
May 05 PHP
php计算给定时间之前的函数用法实例
Apr 03 PHP
php实现过滤字符串中的中文和数字实例
Jul 29 PHP
PHP查看SSL证书信息的方法
Sep 22 PHP
PHP7新增运算符用法实例分析
Sep 26 PHP
PHP实现可添加水印与生成缩略图的图片处理工具类
Jan 16 PHP
laravel框架上传图片实现实时预览功能
Oct 14 #PHP
解决laravel上传图片之后,目录有图片,但是访问不到(404)的问题
Oct 14 #PHP
yii框架数据库关联查询操作示例
Oct 14 #PHP
laravel实现上传图片并在页面显示的例子
Oct 14 #PHP
Thinkphp5.0 框架的请求方式与响应方式分析
Oct 14 #PHP
laravel 多图上传及图片的存储例子
Oct 14 #PHP
Laravel 5.4前后台分离,通过不同的二级域名访问方法
Oct 13 #PHP
You might like
PHP 危险函数全解析
2009/09/09 PHP
如何用php获取程序执行的时间
2013/06/09 PHP
thinkPHP实现表单自动验证
2014/12/24 PHP
ThinkPHP框架实现数据增删改
2017/05/07 PHP
PHP Redis扩展无法加载的问题解决方法
2019/08/22 PHP
jquery插件之信息弹出框showInfoDialog(成功/错误/警告/通知/背景遮罩)
2013/01/09 Javascript
JavaScript实现两个Table固定表头根据页面大小自行调整
2014/01/03 Javascript
利用a标签自动解析URL分析网址实例
2014/10/20 Javascript
javascript将url中的参数加密解密代码
2014/11/17 Javascript
JavaScript判断用户是否对表单进行了修改的方法
2015/03/18 Javascript
体验jQuery和AngularJS的不同点及AngularJS的迷人之处
2016/02/02 Javascript
JS功能代码集锦
2016/05/04 Javascript
微信小程序开发之toast提示插件使用示例
2017/06/08 Javascript
JS 组件系列之Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案
2017/06/30 Javascript
基于构造函数的五种继承方法小结
2017/07/27 Javascript
BootStrap Validator 根据条件在JS中添加或移除校验操作
2017/10/12 Javascript
vue实现图书管理demo详解
2017/10/17 Javascript
代码详解Vuejs响应式原理
2017/12/20 Javascript
从零开始搭建webpack+react开发环境的详细步骤
2018/05/18 Javascript
this.$toast() 了解一下?
2019/04/18 Javascript
微信小程序实现限制用户转发功能的实例代码
2020/02/22 Javascript
简单掌握Python中glob模块查找文件路径的用法
2016/07/05 Python
python3使用PyMysql连接mysql数据库实例
2017/02/07 Python
python自动化unittest yaml使用过程解析
2020/02/03 Python
python对输出的奇数偶数排序实例代码
2020/12/04 Python
CSS3实现大小不一的粒子旋转加载动画
2016/04/21 HTML / CSS
HTML5 Canvas的常用线条属性值总结
2016/03/17 HTML / CSS
高中毕业自我鉴定范文
2013/10/02 职场文书
会计学应届毕业生推荐信
2013/11/04 职场文书
篝火晚会策划方案
2014/05/16 职场文书
中国梦读书活动总结
2014/07/10 职场文书
2014党的群众路线教育实践活动总结材料
2014/10/31 职场文书
导游词400字
2015/02/13 职场文书
2015年幼儿园教育教学工作总结
2015/05/25 职场文书
js实现模拟购物商城案例
2021/05/18 Javascript
python 中的jieba分词库
2021/11/23 Python