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设计模式 Builder(建造者模式)
Jun 26 PHP
PHP超级全局变量数组小结
Oct 04 PHP
将博客园(cnblogs.com)数据导入到wordpress的代码
Jan 06 PHP
php多维数组去掉重复值示例分享
Mar 02 PHP
php快递单号查询接口使用示例
May 05 PHP
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
Dec 18 PHP
8个必备的PHP功能开发
Oct 02 PHP
php类自动装载、链式操作、魔术方法实现代码
Jul 23 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
Aug 28 PHP
详解PHP文件的自动加载(autoloading)
Feb 04 PHP
Laravel统一错误处理为JSON的方法介绍
Oct 18 PHP
php如何实现数据库的备份和恢复
Nov 30 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生成静态页面教程
2012/01/10 PHP
php获取数组中重复数据的两种方法
2013/06/28 PHP
PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
2014/10/20 PHP
php抽象类用法实例分析
2015/07/07 PHP
php实用代码片段整理
2016/11/12 PHP
jQuery:节点(插入,复制,替换,删除)操作
2013/03/04 Javascript
js实现屏蔽默认快捷键调用自定义事件示例
2013/06/18 Javascript
javascript+canvas制作九宫格小程序
2014/12/28 Javascript
JS控制FileUpload的上传文件类型实例代码
2016/10/07 Javascript
JSONP跨域请求
2017/03/02 Javascript
jQuery简单实现MD5加密的方法
2017/03/03 Javascript
JavaScript实现星星等级评价功能
2017/03/22 Javascript
Django1.7+JQuery+Ajax验证用户注册集成小例子
2017/04/08 jQuery
Vue 2.0在IE11中打开项目页面空白的问题解决
2017/07/16 Javascript
jQuery选择器之基本过滤选择器用法实例分析
2019/02/19 jQuery
基于vue实现web端超大数据量表格的卡顿解决
2019/04/02 Javascript
微信域名检测接口调用演示步骤(含PHP、Python)
2019/12/08 Javascript
Element Collapse 折叠面板的使用方法
2020/07/26 Javascript
[52:37]完美世界DOTA2联赛循环赛 Forest vs DM BO2第一场 10.29
2020/10/29 DOTA
python实现的udp协议Server和Client代码实例
2014/06/04 Python
Linux环境下MySQL-python安装过程分享
2015/02/02 Python
小白如何入门Python? 制作一个网站为例
2018/03/06 Python
Python统计纯文本文件中英文单词出现个数的方法总结【测试可用】
2018/07/25 Python
使用pandas实现csv/excel sheet互相转换的方法
2018/12/10 Python
python中aioysql(异步操作MySQL)的方法
2019/04/11 Python
浅谈keras使用预训练模型vgg16分类,损失和准确度不变
2020/07/02 Python
python json.dumps() json.dump()的区别详解
2020/07/14 Python
CSS3属性box-shadow使用指南
2014/12/09 HTML / CSS
20世纪40年代连衣裙和复古服装:The Seamstress Of Bloomsbury
2018/07/24 全球购物
销售员自我评价怎么写
2013/09/19 职场文书
男方父母证婚词
2014/01/12 职场文书
《你在为谁工作》心得体会(共8篇)
2016/01/20 职场文书
python简单验证码识别的实现过程
2021/06/20 Python
使用python创建股票的时间序列可视化分析
2022/03/03 Python
Nginx实现负载均衡的项目实践
2022/03/18 Servers
使用Python通过企业微信应用给企业成员发消息
2022/04/18 Python