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+DBM的同学录程序(3)
Oct 09 PHP
php实现无限级分类实现代码(递归方法)
Jan 01 PHP
mysql_num_rows VS COUNT 效率问题分析
Apr 23 PHP
解析php获取字符串的编码格式的方法(函数)
Jun 21 PHP
小谈php正则提取图片地址
Mar 27 PHP
Windows下的PHP安装pear教程
Oct 24 PHP
thinkPHP实现瀑布流的方法
Nov 29 PHP
PHP检测用户是否关闭浏览器的方法
Feb 14 PHP
php fseek函数读取大文件两种方法
Oct 12 PHP
thinkPHP框架实现的无限回复评论功能示例
Jun 09 PHP
PHP 结合 Boostrap 结合 js 实现学生列表删除编辑及搜索功能
May 21 PHP
laravel 框架执行流程与原理简单分析
Feb 01 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 5.0对象模型深度探索之对象复制
2008/03/27 PHP
php购物网站支付paypal使用方法
2010/11/28 PHP
PHP中CheckBox多选框上传失败的代码写法
2017/02/13 PHP
PHP设计模式之模板方法模式定义与用法详解
2018/04/02 PHP
PHP封装的非对称加密RSA算法示例
2018/05/28 PHP
Laravel5.5 动态切换多语言的操作方式
2019/10/25 PHP
JS自动缩小超出大小的图片
2012/10/12 Javascript
JavaScript的Module模式编程深入分析
2013/08/13 Javascript
JS获取网页图片name属性的方法
2015/04/01 Javascript
angularjs封装$http为factory的方法
2017/05/18 Javascript
微信小程序 JS动态修改样式的实现方法
2018/12/16 Javascript
node.js使用yargs处理命令行参数操作示例
2020/02/11 Javascript
JQuery实现折叠式菜单的详细代码
2020/06/03 jQuery
OpenLayers3加载常用控件使用方法详解
2020/09/25 Javascript
JS+CSS实现过渡特效
2021/01/02 Javascript
Python实现遍历数据库并获取key的值
2015/05/17 Python
python与php实现分割文件代码
2017/03/06 Python
5款非常棒的Python工具
2018/01/05 Python
Python自定义简单图轴简单实例
2018/01/08 Python
浅谈Python的条件判断语句if/else语句
2019/03/21 Python
详解Python Matplotlib解决绘图X轴值不按数组排序问题
2019/08/05 Python
Python BeautifulReport可视化报告代码实例
2020/04/13 Python
使用BeautifulSoup4解析XML的方法小结
2020/12/07 Python
用css3实现当鼠标移进去时当前亮其他变灰效果
2014/04/08 HTML / CSS
迷你唐卡软皮鞋:Minnetonka Moccasin
2018/05/01 全球购物
罗技英国官方网站:Logitech UK
2020/11/03 全球购物
毕业生的自我鉴定该怎么写
2013/12/02 职场文书
自强自立美德少年事迹材料
2014/08/16 职场文书
党的群众路线教育实践活动个人自我剖析材料
2014/10/07 职场文书
小学五年级语文上册教学计划
2015/01/22 职场文书
银行求职自荐信范文
2015/03/04 职场文书
2015年建党94周年演讲稿
2015/03/19 职场文书
银行自荐信范文
2015/03/25 职场文书
泰坦尼克号观后感
2015/06/04 职场文书
运动会通讯稿600字
2015/07/20 职场文书
mysql知识点整理
2021/04/05 MySQL