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中通过ADO调用Asscess数据库和COM程序
Oct 09 PHP
php 搜索框提示(自动完成)实例代码
Feb 05 PHP
yii操作cookie实例简介
Jul 09 PHP
PHP文件读写操作相关函数总结
Nov 18 PHP
PHP实现QQ空间自动回复说说的方法
Dec 02 PHP
PHP 设计模式系列之 specification规格模式
Jan 10 PHP
PHP读取文件的常见几种方法
Nov 03 PHP
yii2 数据库读写分离配置示例
Feb 10 PHP
php curl获取到json对象并转成数组array的方法
May 31 PHP
php 后端实现JWT认证方法示例
Sep 04 PHP
Yaf框架封装的MySQL数据库操作示例
Mar 06 PHP
Thinkphp整合阿里云OSS图片上传实例代码
Apr 28 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
BBS(php &amp; mysql)完整版(七)
2006/10/09 PHP
Mysql的GROUP_CONCAT()函数使用方法
2008/03/28 PHP
php mssql 分页SQL语句优化 持续影响
2009/04/26 PHP
php的array_multisort()使用方法介绍
2012/05/16 PHP
PHP程序级守护进程的实现与优化的使用概述
2013/05/02 PHP
PHP魔术引号所带来的安全问题分析
2014/07/15 PHP
yii2.0框架实现上传excel文件后导入到数据库的方法示例
2020/04/13 PHP
js操作二级联动实现代码
2010/07/27 Javascript
jquery ui dialog ie8出现滚动条的解决方法
2010/12/06 Javascript
javascript实现无缝上下滚动特效
2015/12/16 Javascript
多种js图片预加载实现方式分享
2016/02/19 Javascript
Bootstrap列表组学习使用
2017/02/09 Javascript
angularjs实现的前端分页控件示例
2017/02/10 Javascript
bootstrap weebox 支持ajax的模态弹出框
2017/02/23 Javascript
详解Node.js中exports和module.exports的区别
2017/04/19 Javascript
二维码图片生成器QRCode.js简单介绍
2017/08/18 Javascript
Vue微信项目按需授权登录策略实践思路详解
2018/05/07 Javascript
node删除、复制文件或文件夹示例代码
2019/08/13 Javascript
js实现数字从零慢慢增加到指定数字示例
2019/11/07 Javascript
JavaScript中数组去重的5种方法
2020/07/04 Javascript
[00:37]2016完美“圣”典风云人物:rOtk宣传片
2016/12/09 DOTA
Python新手在作用域方面经常容易碰到的问题
2015/04/03 Python
python 系统调用的实例详解
2017/07/11 Python
详解Python使用tensorflow入门指南
2018/02/09 Python
Tensorflow实现部分参数梯度更新操作
2020/01/23 Python
Python闭包与装饰器原理及实例解析
2020/04/30 Python
如何基于python实现不邻接植花
2020/05/01 Python
Fnac西班牙官网:法国文化和电子产品零售商
2021/03/14 全球购物
我有一个char * 型指针正巧指向一些int 型变量, 我想跳过它们。 为什么如下的代码((int *)p)++; 不行?
2013/05/09 面试题
Servlet如何得到客户端机器的信息
2014/10/17 面试题
师德师风个人反思
2014/04/28 职场文书
2014离婚协议书范文(3篇)
2014/11/29 职场文书
中学生运动会广播稿
2015/08/19 职场文书
解析:创业计划书和商业计划书二者之间到底有什么区别
2019/08/14 职场文书
python数据可视化JupyterLab实用扩展程序Mito
2021/11/20 Python
Nginx速查手册及常见问题
2022/04/07 Servers