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 上传文件大小限制
Jul 05 PHP
删除无限分类并同时删除它下面的所有子分类的方法
Aug 08 PHP
深入apache host的配置详解
Jun 09 PHP
php文件上传的简单实例
Oct 19 PHP
Destoon旺旺无法正常显示,点击提示“会员名不存在”的解决办法
Jun 21 PHP
PHP结合JQueryJcrop实现图片裁切实例详解
Jul 24 PHP
解析WordPress中控制用户登陆和判断用户登陆的PHP函数
Mar 01 PHP
PHP编程中尝试程序并发的几种方式总结
Mar 21 PHP
PHP后台微信支付和支付宝支付开发
Apr 28 PHP
Yii框架批量插入数据扩展类的简单实现方法
May 23 PHP
PHP实现链表的定义与反转功能示例
Jun 09 PHP
php和html的区别点详细总结
Sep 24 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 Mysql编程之高级技巧
2008/08/27 PHP
PHP中__get()和__set()的用法实例详解
2013/06/04 PHP
php实现压缩多个CSS与JS文件的方法
2014/11/11 PHP
php中使用url传递数组的方法
2015/02/11 PHP
php获取Google机器人访问足迹的方法
2015/04/15 PHP
PHP实现获取中英文首字母
2015/06/19 PHP
详解PHP对数组的定义以及数组的创建方法
2015/11/27 PHP
PHP折半(二分)查找算法实例分析
2018/05/12 PHP
php弹出提示框的是实例写法
2019/09/26 PHP
javascript中利用数组实现的循环队列代码
2010/01/24 Javascript
jQuery 点击图片跳转上一张或下一张功能的实现代码
2010/03/12 Javascript
IE下写xml文件的两种方式(fso/saveAs)
2013/08/05 Javascript
Jquery 的outerHeight方法使用介绍
2013/09/11 Javascript
使用Node.js给图片加水印的方法
2016/11/15 Javascript
详解jQuery中的DOM操作
2016/12/23 Javascript
微信小程序 弹幕功能简单实例
2017/02/14 Javascript
vue2.0获取自定义属性的值
2017/03/28 Javascript
详解从angular-cli:1.0.0-beta.28.3升级到@angular/cli:1.0.0
2017/05/22 Javascript
使用node.js实现微信小程序实时聊天功能
2018/08/13 Javascript
基于elementUI实现图片预览组件的示例代码
2019/03/31 Javascript
Ant Design的Table组件去除
2020/10/24 Javascript
[02:40]DOTA2英雄基础教程 炼金术士
2013/12/23 DOTA
深入理解Python对Json的解析
2017/02/14 Python
同时安装Python2 &amp; Python3 cmd下版本自由选择的方法
2017/12/09 Python
Flask框架实现给视图函数增加装饰器操作示例
2018/07/16 Python
Flask框架钩子函数功能与用法分析
2019/08/02 Python
Python检查 云备份进程是否正常运行代码实例
2019/08/22 Python
基于Python获取照片的GPS位置信息
2020/01/20 Python
python GUI库图形界面开发之PyQt5下拉列表框控件QComboBox详细使用方法与实例
2020/02/27 Python
中国医药集团国药在线:国药网
2017/02/06 全球购物
戴尔美国官方折扣店:Dell Outlet
2018/02/13 全球购物
Shopee新加坡:东南亚与台湾电商平台
2019/01/25 全球购物
c/c++某大公司的两道笔试题
2014/02/02 面试题
活动宣传策划方案
2014/05/23 职场文书
安全宣传标语
2014/06/10 职场文书
只用20行Python代码实现屏幕录制功能
2021/06/02 Python