Yii2框架操作数据库的方法分析【以mysql为例】


Posted in PHP onMay 27, 2019

本文实例讲述了Yii2框架操作数据库的方法。分享给大家供大家参考,具体如下:

准备数据库

DROP TABLE IF EXISTS `pre_user`;
CREATE TABLE `pre_user`(
  `id` int(11) AUTO_INCREMENT PRIMARY KEY,
  `username` varchar(255) NOT NULL,
  `password` varchar(32) NOT NULL DEFAULT '',
  `password_hash` varchar(255) NOT NULL DEFAULT '',
  `email` varchar(255) NOT NULL DEFAULT '',
  `status` smallint(6) NOT NULL DEFAULT 10,
  `created_at` smallint(6) NOT NULL DEFAULT 0,
  `updated_at` smallint(6) NOT NULL DEFAULT 0
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

配置连接

config\db.php

<?php
return [
  'class' => 'yii\db\Connection',
  'dsn' => 'mysql:host=localhost;dbname=yii2',
  'username' => 'root',
  'password' => 'root',
  'charset' => 'utf8mb4',
  'tablePrefix' => 'pre_'
];

查看数据库连接是否成功

控制器里打印:

var_dump(\Yii::$app->db);

Yii2框架操作数据库的方法分析【以mysql为例】

怎么执行SQL语句?

增删改

// 接收表单的数据
$username = 'jack';
$sql = "INSERT INTO {{%user}} (username,status) VALUES (:username,:status)";
// 返回受影响行数
$row = \Yii::$app->db->createCommand($sql,['username'=>$username,'status'=>8])->execute();
// 获取自增ID
echo \Yii::$app->db->getLastInsertID();

查询

$sql = "SELECT * FROM {{%user}} WHERE id>:id";
// 查询结果是一个二维数组
$userArr = \Yii::$app->db->createCommand($sql,['id'=>1])->queryAll();
// 如果要查询一个
$user = \Yii::$app->db->createCommand($sql,['id'=>1])->queryOne();
// 如果要返回单值
// 例如 select count(*)语句
$count = \Yii::$app->db->createCommand($sql,['id'=>1])->queryScalar();
echo $count;

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

PHP 相关文章推荐
PHP个人网站架设连环讲(二)
Oct 09 PHP
一个SQL管理员的web接口
Oct 09 PHP
PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
Nov 10 PHP
PHP定时任务延缓执行的实现
Oct 08 PHP
PHP加密解密类实例分析
Apr 20 PHP
php生成图片验证码-附五种验证码
Aug 19 PHP
PHP入门教程之操作符与控制结构流程详解
Sep 09 PHP
ThinkPHP实现静态缓存和动态缓存示例代码
May 02 PHP
浅谈PHP封装CURL
Mar 06 PHP
yii2.0框架场景的简单使用示例
Jan 25 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
Mar 24 PHP
解决PhpStorm64不能启动的问题
Jun 20 PHP
php session_decode函数用法讲解
May 26 #PHP
基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例
May 25 #PHP
Yii2框架自定义类统一处理url操作示例
May 25 #PHP
Yii2框架加载css和js文件的方法分析
May 25 #PHP
php数组遍历类与用法示例
May 24 #PHP
PHP实现的操作数组类库定义与用法示例
May 24 #PHP
定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内
May 23 #PHP
You might like
PHP保留两位小数并且四舍五入及不四舍五入的方法
2013/09/22 PHP
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
2014/10/30 PHP
关于URL最大长度限制的相关资料查证
2014/12/23 PHP
百度地图API使用方法详解
2015/08/25 PHP
php图片添加水印例子
2016/07/20 PHP
TextArea不支持maxlength的解决办法(jquery)
2011/09/13 Javascript
通过Ajax使用FormData对象无刷新上传文件方法
2016/12/08 Javascript
教你快速搭建Node.Js服务器的方法教程
2017/03/30 Javascript
node.js中cluster的使用教程
2017/06/09 Javascript
浅谈vue项目优化之页面的按需加载(vue+webpack)
2017/12/11 Javascript
JavaScript判断日期时间差的实例代码
2018/03/01 Javascript
详解js类型判断
2018/05/22 Javascript
vue+elementUI实现表单和图片上传及验证功能示例
2019/05/14 Javascript
浅谈ECMAScript 中的Array类型
2019/06/10 Javascript
移动端 Vue+Vant 的Uploader 实现上传、压缩、旋转图片功能
2019/06/10 Javascript
js实现计时器秒表功能
2019/12/16 Javascript
Python EOL while scanning string literal问题解决方法
2020/09/18 Python
python判断给定的字符串是否是有效日期的方法
2015/05/13 Python
python线程池(threadpool)模块使用笔记详解
2017/11/17 Python
对pandas里的loc并列条件索引的实例讲解
2018/11/15 Python
Python3匿名函数lambda介绍与使用示例
2019/05/18 Python
python中count函数简单的实例讲解
2020/02/06 Python
python中os包的用法
2020/06/01 Python
为什么要做架构设计
2015/07/08 面试题
模具专业推荐信
2013/10/30 职场文书
优秀员工自荐书范文
2013/12/08 职场文书
教师职称自我鉴定
2014/02/12 职场文书
2014年党支部承诺书
2014/05/30 职场文书
测绘工程专业求职信
2014/07/15 职场文书
做人民满意的公务员活动方案
2014/08/25 职场文书
2014党员干部四风问题对照检查材料思想汇报
2014/09/24 职场文书
餐厅保洁员岗位职责
2015/04/10 职场文书
2015年税务稽查工作总结
2015/05/26 职场文书
小学四年级班主任工作经验交流材料
2015/11/02 职场文书
2016年全国爱牙日宣传活动总结
2016/04/05 职场文书
MySQL 如何设计统计数据表
2021/06/15 MySQL