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 相关文章推荐
学习discuz php 引入文件的方法DISCUZ_ROOT
Jun 21 PHP
PHP UTF8编码内的繁简转换类
Jul 20 PHP
那些年一起学习的PHP(二)
Mar 21 PHP
PHP编码规范的深入探讨
Jun 06 PHP
php Calender(日历)代码分享
Jan 03 PHP
php curl登陆qq后获取用户信息时证书错误
Feb 03 PHP
深入剖析PHP中printf()函数格式化使用
May 23 PHP
CI框架使用composer安装的依赖包步骤与方法分析
Nov 21 PHP
PHP编程获取音频文件时长的方法【基于getid3类】
Apr 20 PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
Sep 17 PHP
PHP实现验证码校验功能
Nov 16 PHP
php实现对短信验证码发送次数的限制实例讲解
Mar 04 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
Excel数据导入Mysql数据库的实现代码
2008/06/05 PHP
PHP 判断变量类型实现代码
2009/10/23 PHP
PHP数组内存耗用太多问题的解决方法
2010/04/05 PHP
wordpress自定义url参数实现路由功能的代码示例
2013/11/28 PHP
PHP中使用strpos函数实现屏蔽敏感关键字功能
2014/08/21 PHP
PHP移动文件指针ftell()、fseek()、rewind()函数总结
2014/11/18 PHP
PHP+MySQL实现模糊查询员工信息功能示例
2018/06/01 PHP
解决jquery .ajax 在IE下卡死问题的解决方法
2009/10/26 Javascript
Jquery动态更改一张位图的src与Attr的使用
2013/07/31 Javascript
js、jquery图片动画、动态切换示例代码
2014/06/03 Javascript
jQuery中offset()方法用法实例
2015/01/16 Javascript
原生JavaScript实现Ajax的方法
2016/04/07 Javascript
JS定时检测任务任务完成后执行下一步的解决办法
2016/12/22 Javascript
D3.js实现简洁实用的动态仪表盘的示例
2018/04/04 Javascript
jQuery实现点击自身以外区域关闭弹出层功能完整示例【改进版】
2018/07/31 jQuery
JS动画实现回调地狱promise的实例代码详解
2018/11/08 Javascript
vue使用exif获取图片经纬度的示例代码
2020/12/11 Vue.js
vue中实现点击空白区域关闭弹窗的两种方法
2020/12/30 Vue.js
python 域名分析工具实现代码
2009/07/15 Python
python 实现网上商城,转账,存取款等功能的信用卡系统
2016/07/15 Python
Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】
2017/06/20 Python
Python实现将sqlite数据库导出转成Excel(xls)表的方法
2017/07/17 Python
python 中的divmod数字处理函数浅析
2017/10/17 Python
python+tkinter编写电脑桌面放大镜程序实例代码
2018/01/16 Python
python使用 request 发送表单数据操作示例
2019/09/25 Python
Python tornado上传文件的功能
2020/03/26 Python
使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)
2020/10/12 Python
python解包概念及实例
2021/02/17 Python
html5实现的便签特效(实战分享)
2013/11/29 HTML / CSS
旅游个人求职信范文
2014/01/30 职场文书
葛优非诚勿扰搞笑征婚台词
2014/03/17 职场文书
仓库管理员岗位职责
2014/03/19 职场文书
Python进度条的使用
2021/05/17 Python
为了顺利买到演唱会的票用Python制作了自动抢票的脚本
2021/10/16 Python
ICOM R71E和R72E图文对比解说
2022/04/07 无线电
SpringBoot详解执行过程
2022/07/15 Java/Android