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 相关文章推荐
PHP执行速率优化技巧小结
Mar 15 PHP
PHP 开源框架22个简单简介
Aug 24 PHP
PHP数组交集的优化代码分析
Mar 06 PHP
php 中英文语言转换类
Sep 07 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(二)
Jun 23 PHP
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
Dec 17 PHP
PHP实现简单搜歌的方法
Jul 28 PHP
Zend Framework教程之Bootstrap类用法概述
Mar 14 PHP
php操作access数据库的方法详解
Feb 22 PHP
CentOS 上搭建 PHP7 开发测试环境
Feb 26 PHP
浅谈PHP的反射API
Feb 26 PHP
php实现产品加入购物车功能(1)
Jul 23 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中$_GET与$_POST过滤sql注入的方法
2014/11/03 PHP
php屏蔽错误及提示的方法
2020/05/10 PHP
web的各种前端打印方法之jquery打印插件jqprint实现网页打印
2013/01/09 Javascript
JQuery解析HTML、JSON和XML实例详解
2014/03/29 Javascript
jquery用offset()方法获得元素的xy坐标
2014/09/06 Javascript
jquery 获取 outerHtml 包含当前节点本身的代码
2014/10/30 Javascript
JavaScript字符串删除重复字符的方法
2015/12/25 Javascript
javascript insertAfter()定义与用法示例
2016/07/25 Javascript
js导出excel文件的简洁方法(推荐)
2016/11/02 Javascript
BootStrap 实现各种样式的进度条效果
2016/12/07 Javascript
jQuery ajax动态生成table功能示例
2017/06/14 jQuery
angular2+node.js express打包部署的实战
2017/07/27 Javascript
jQuery解析json格式数据示例
2018/09/01 jQuery
详解vue-cli+es6引入es5写的js(两种方法)
2019/04/19 Javascript
详解keep-alive + vuex 让缓存的页面灵活起来
2019/04/19 Javascript
vue安装遇到的5个报错及解决方法
2019/06/12 Javascript
详解微信小程序胶囊按钮返回|首页自定义导航栏功能
2019/06/14 Javascript
VUE组件中的 Drawer 抽屉实现代码
2019/08/06 Javascript
浅谈javascript错误处理
2019/08/11 Javascript
python实现猜数字游戏(无重复数字)示例分享
2014/03/29 Python
python生成随机图形验证码详解
2017/11/08 Python
Python输出由1,2,3,4组成的互不相同且无重复的三位数
2018/02/01 Python
windows下添加Python环境变量的方法汇总
2018/05/14 Python
Python实现定时自动关闭的tkinter窗口方法
2019/02/16 Python
Python爬取数据保存为Json格式的代码示例
2019/04/09 Python
Python OS模块实例详解
2019/04/15 Python
Python 硬币兑换问题
2019/07/29 Python
pandas条件组合筛选和按范围筛选的示例代码
2019/08/26 Python
python 初始化一个定长的数组实例
2019/12/02 Python
python编写微信公众号首图思路详解
2019/12/13 Python
python 可视化库PyG2Plot的使用
2021/01/21 Python
保安员岗位职责
2013/11/17 职场文书
大客户销售经理职责
2013/12/04 职场文书
捐书寄语赠言
2014/01/18 职场文书
2015年质量管理工作总结范文
2015/05/18 职场文书
Python 的 sum() Pythonic 的求和方法详细
2021/10/16 Python