php教程

超轻量级php框架startmvc

Yii2框架操作数据库的方法分析【以mysql为例】

更新时间:2020-04-05 08:40:37 作者:startmvc
本文实例讲述了Yii2框架操作数据库的方法。分享给大家供大家参考,具体如下:准备数据

本文实例讲述了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);

怎么执行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;

Yii2框架 操作数据库 mysql