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桌面中心(三) 修改数据库
Mar 11 PHP
php下实现一个阿拉伯数字转中文数字的函数
Jul 10 PHP
PHP 加密/解密函数 dencrypt(动态密文,带压缩功能,支持中文)
Jan 30 PHP
深入理解PHP原理之Session Gc的一个小概率Notice
Apr 12 PHP
彻底删除thinkphp3.1案例blog标签的方法
Dec 05 PHP
php实现字符串首字母大写和单词首字母大写的方法
Mar 14 PHP
PHP实现微信发红包程序
Aug 24 PHP
PHP常用字符串操作函数实例总结(trim、nl2br、addcslashes、uudecode、md5等)
Jan 09 PHP
简单介绍PHP非阻塞模式
Mar 03 PHP
php bootstrap实现简单登录
Mar 08 PHP
浅谈socket同步和异步、阻塞和非阻塞、I/O模型
Dec 15 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
Jul 19 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 定界符格式引起的错误
2011/05/24 PHP
探寻PHP脚本不报错的原因
2014/06/12 PHP
php curl中gzip的压缩性能测试实例分析
2016/11/08 PHP
javascript学习笔记(十六) 系统对话框(alert、confirm、prompt)
2012/06/20 Javascript
jquery表单验证框架提供的身份证验证方法(示例代码)
2013/12/27 Javascript
使用js实现一个可编辑的select下拉列表
2014/02/20 Javascript
jQuery解析XML与传统JavaScript方法的差别实例分析
2015/03/05 Javascript
JavaScript改变CSS样式的方法汇总
2015/05/07 Javascript
JavaScript的removeChild()函数用法详解
2015/12/27 Javascript
微信小程序 页面跳转传参详解
2016/10/28 Javascript
JS函数多个参数默认值指定方法分析
2016/11/28 Javascript
IScroll那些事_当内容不足时下拉刷新的解决方法
2017/07/18 Javascript
浅谈pc端rem字体设置的问题
2017/08/03 Javascript
基于vue2.x的电商图片放大镜插件的使用
2018/01/22 Javascript
微信小程序实现点击图片旋转180度并且弹出下拉列表
2018/11/27 Javascript
手把手教你使用TypeScript开发Node.js应用
2019/05/06 Javascript
Vue 2.0 侦听器 watch属性代码详解
2019/06/19 Javascript
基于JavaScript实现留言板功能
2020/03/16 Javascript
理解JavaScript中的对象
2020/08/25 Javascript
[04:22]DOTA2上海特级锦标赛主赛事第四日TOP10
2016/03/06 DOTA
Python中第三方库Requests库的高级用法详解
2017/03/12 Python
Python实现的简单排列组合算法示例
2018/07/04 Python
简单瞅瞅Python vars()内置函数的实现
2019/09/27 Python
python 爬取B站原视频的实例代码
2020/09/09 Python
用gpu训练好的神经网络,用tensorflow-cpu跑出错的原因及解决方案
2021/03/03 Python
美国真皮手袋品牌:GiGi New York
2017/03/10 全球购物
sleep()方法和wait()方法的区别是什么
2012/11/17 面试题
测绘工程本科生求职信
2013/10/10 职场文书
大学学年自我鉴定
2013/10/28 职场文书
百货商场楼层班组长竞聘书
2014/03/31 职场文书
保护环境倡议书300字
2014/05/19 职场文书
爱祖国爱家乡演讲稿
2014/09/02 职场文书
师德师风自我剖析材料
2014/09/27 职场文书
事业单位年度考核个人总结
2015/02/12 职场文书
毕业设计工作总结
2015/08/14 职场文书
学长教您写论文:经验总结
2019/07/09 职场文书