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脚本的10个技巧(7)
Oct 09 PHP
深入了解php4(1)--回到未来
Oct 09 PHP
php调用mysql存储过程
Feb 14 PHP
flash用php连接数据库的代码
Apr 21 PHP
php方法调用模式与函数调用模式简例
Sep 20 PHP
thinkphp 一个页面使用2次分页的实现方法
Jul 15 PHP
php_imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
Dec 15 PHP
php+html5使用FormData对象提交表单及上传图片的方法
Feb 11 PHP
PHP超全局数组(Superglobals)介绍
Jul 01 PHP
php实现分页功能的详细实例方法
Sep 29 PHP
PHP的Trait机制原理与用法分析
Oct 18 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
May 27 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程序漏洞产生的原因分析与防范方法说明
2014/03/06 PHP
Laravel框架使用技巧之使用url()全局函数返回前一个页面的地址方法详解
2020/04/06 PHP
常用的javascript function代码
2008/05/23 Javascript
学习ExtJS 访问容器对象
2009/10/07 Javascript
Prototype源码浅析 Number部分
2012/01/16 Javascript
javascript中的事件代理初探
2014/03/08 Javascript
javascript框架设计读书笔记之数组的扩展与修复
2014/12/02 Javascript
AngularJS基础学习笔记之指令
2015/05/10 Javascript
Linux下为Node.js程序配置MySQL或Oracle数据库的方法
2016/03/19 Javascript
页面向下滚动ajax获取数据的实现方法(兼容手机)
2016/05/24 Javascript
jQuery验证表单格式的使用方法
2017/01/10 Javascript
Vue form 表单提交+ajax异步请求+分页效果
2017/04/22 Javascript
关于Vue背景图打包之后访问路径错误问题的解决
2017/11/03 Javascript
实时监控input框,实现输入框与下拉框联动的实例
2018/01/23 Javascript
微信小程序把百度地图坐标转换成腾讯地图坐标过程详解
2019/07/10 Javascript
基于layui轮播图满屏是高度自适应的解决方法
2019/09/16 Javascript
如何通过JS实现转码与解码
2020/02/21 Javascript
[02:40]DOTA2英雄基础教程 巨牙海民
2013/12/23 DOTA
python开发之tkinter实现图形随鼠标移动的方法
2015/11/11 Python
python实现简单神经网络算法
2018/03/10 Python
对python3新增的byte类型详解
2018/12/04 Python
利用python、tensorflow、opencv、pyqt5实现人脸实时签到系统
2019/09/25 Python
Python实现AI换脸功能
2020/04/10 Python
html5仿支付宝密码框的实现代码
2017/09/06 HTML / CSS
基于 HTML5 WebGL 实现的垃圾分类系统
2019/10/08 HTML / CSS
美国最大的香水连锁店官网:Perfumania
2016/08/15 全球购物
土耳其国际性时尚购物网站:Modanisa
2018/01/19 全球购物
《将心比心》教学反思
2014/04/08 职场文书
房屋租赁协议书
2014/04/10 职场文书
2014年度思想工作总结
2014/11/27 职场文书
母亲节主题班会
2015/08/14 职场文书
2016年学校党支部公开承诺书
2016/03/25 职场文书
jquery插件实现代码雨特效
2021/04/24 jQuery
Python中threading库实现线程锁与释放锁
2021/05/17 Python
Django rest framework如何自定义用户表
2021/06/09 Python
Redis 持久化 RDB 与 AOF的执行过程
2021/11/07 Redis