本文实例讲述了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
)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;
更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。
您可能感兴趣的文章:Yii2.0高级框架数据库增删改查的一些操作Yii2——使用数据库操作汇总(增删查改、事务)Yii2数据库操作常用方法小结Yii2框架实现数据库常用操作总结Yii2实现跨mysql数据库关联查询排序功能代码Yii+MYSQL锁表防止并发情况下重复数据的方法Yii
连接、修改
MySQL
数据库及phpunit
测试连接Yii实现MySQL多数据库和读写分离实例分析Yii操作数据库实现动态获取表名的方法Yii操作数据库的3种方法
在yii2项目的根目录下的composer.json中的require那里加入
"phpoffice/phpexcel": "dev-develop"
然后使用终端(windows使用cmd)进入yii2项目目录
执行以下命令即可:
composer update
使用的话,就很简单,use导入phpexcel类,然后就可以使用了(具体使用请看文档)
yii2 删除数据
一
// DELETE (table name, condition)
Yii::$app-db-createCommand()-delete('user', 'status = 0')-execute();
二
Yii::$app-db-createCommand('DELETE FROM post WHERE id=1')-execute();
三
要删除单行数据,首先获取与该行对应的 Active Record 实例,然后调用 yii\db\ActiveRecord::delete() 方法。
$customer = Customer::findOne(123);
$customer-delete();
快速、安全、专业 的 PHP 框架
Yii 是一个 高性能 的,适用于开发 WEB 2.0 应用的 PHP 框架。
Yii 自带了 丰富的功能,包括 MVC,DAO/ActiveRecord,I18N/L10N,缓存,身份验证和基于角色的访问控制,脚手架,测试等,可显著缩短开发时间。
1、类级别设置
属性
设置布局 public $layout = 'login';
取消布局 public $layout = false;
2、方法级别
设置布局 $this-layout = 'login';
取消布局 $this-layout = false;
3、视图级别
设置布局 $this-context-layout = 'login';
取消布局 $this-context-layout = false;
注:什么都不设置为默认布局,读取views/layouts/main.php文件作为布局文件
yii2 批量删除
删除数据(Deleting Data)
删除单行数据,首先获取与该行对应的 Active Record 实例,然后调用 yii\db\ActiveRecord::delete() 方法。
$customer = Customer::findOne(123);
$customer-delete();
你可以调用 yii\db\ActiveRecord::deleteAll() 方法删除多行甚至全部的数据。例如,
Customer::deleteAll(['status' = Customer::STATUS_INACTIVE])
----------------------------------------------------------------------
提示: 调用 deleteAll() 时要非常小心,因为如果在指定条件时出错, 它可能会完全擦除表中的所有数据。
1.在yii2的项目目录中的 composer.json 的require中加入:
3.config/params.php中添加
4.新建一个EsService.php
5.yii2还提供了一个操作Es的类 yii2-elasticsearch
首先引入 yii2-elasticsearch 操作类
composer.json的require中添加:
然后执行: composer update
config/web.php的components中添加:
6.参考某个大佬写了一个公共的类 common\Elasticsearch.php
7.新建一个model model/EsModel
8.controller调用
本文转载自互联网,如有侵权,联系删除