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 FPDF类库应用实现代码
Mar 20 PHP
PHP开发规范手册之PHP代码规范详解
Jan 13 PHP
php中3种方法统计字符串中每种字符的个数并排序
Aug 27 PHP
php获取指定日期之间的各个周和月的起止时间
Nov 24 PHP
php使用Jpgraph绘制复杂X-Y坐标图的方法
Jun 10 PHP
讲解WordPress中用于获取评论模板和搜索表单的PHP函数
Dec 28 PHP
php使用get_class_methods()函数获取分类的方法
Jul 20 PHP
PHP微信公众号开发之微信红包实现方法分析
Jul 14 PHP
php面试中关于面向对象的相关问题
Feb 13 PHP
Laravel Eloquent分表方法并使用模型关联的实现
Nov 25 PHP
Laravel 微信小程序后端搭建步骤详解
Nov 26 PHP
php把文件设置为插件的技巧方法
Feb 03 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
PHP5中使用DOM控制XML实现代码
2010/05/07 PHP
php URL验证正则表达式
2011/07/19 PHP
浅析showModalDialog数据缓存问题(用禁止浏览器缓存解决)
2013/07/09 Javascript
jquery 漂亮的删除确认和提交无刷新删除示例
2013/11/13 Javascript
JavaScript编程的10个实用小技巧
2014/04/18 Javascript
深入理解Javascript中this的作用域
2014/08/12 Javascript
jquery实现导航固定顶部的效果仿蘑菇街
2014/10/22 Javascript
利用JS实现文字的聚合动画效果
2017/01/22 Javascript
简单实现js菜单栏切换效果
2017/03/04 Javascript
jQuery插件zTree实现的多选树效果示例
2017/03/08 Javascript
jquery表单提交带错误信息提示效果
2017/03/09 Javascript
nodejs中向HTTP响应传送进程的输出
2017/03/19 NodeJs
详解AngularJS1.6版本中ui-router路由中/#!/的解决方法
2017/05/22 Javascript
JavaScript中Object基础内部方法图
2018/02/05 Javascript
微信小程序实现slideUp、slideDown滑动效果及点击空白隐藏功能示例
2018/12/11 Javascript
详解React项目如何修改打包地址(编译输出文件地址)
2019/03/21 Javascript
详解bootstrap-fileinput文件上传控件的亲身实践
2019/03/21 Javascript
Vuex的热更替如何实现
2020/06/05 Javascript
[01:23:24]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第三场 2月7日
2021/03/11 DOTA
[07:54]DOTA2-DPC中国联赛 正赛 iG vs VG 选手采访
2021/03/11 DOTA
Tensorflow之构建自己的图片数据集TFrecords的方法
2018/02/07 Python
pytorch实现用CNN和LSTM对文本进行分类方式
2020/01/08 Python
python有几个版本
2020/06/17 Python
基于python爬取链家二手房信息代码示例
2020/10/21 Python
汉语言文学毕业生求职信
2013/10/01 职场文书
文秘专业个人求职信
2013/12/22 职场文书
2014年小学元旦活动方案
2014/02/12 职场文书
实习生岗位职责
2014/04/12 职场文书
公司总经理岗位职责范本
2014/08/15 职场文书
学雷锋的心得体会
2014/09/04 职场文书
工作作风整顿个人剖析材料
2014/10/11 职场文书
教师党员批评与自我批评发言稿
2014/10/15 职场文书
社区端午节活动总结
2015/02/11 职场文书
三年级作文之小小梦想
2019/12/06 职场文书
阿里云Nginx配置https实现域名访问项目(图文教程)
2021/03/31 Servers
台式电脑蓝牙适配器怎么安装?台式电脑蓝牙适配器安装教程
2022/04/08 数码科技