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

 更新时间:2019年05月27日 08:45:19   作者:学习笔记666  
这篇文章主要介绍了Yii2框架操作数据库的方法,结合实例形式分析了Yii2框架配置、连接mysql数据库及执行SQL进行增删改查等相关操作技巧,需要的朋友可以参考下

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

更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

相关文章

  • thinkphp命名空间用法实例详解

    thinkphp命名空间用法实例详解

    这篇文章主要介绍了thinkphp命名空间用法,结合实例形式详细分析了thinkPHP命名空间的功能及具体使用技巧,需要的朋友可以参考下
    2015-12-12
  • Laravel框架使用Seeder实现自动填充数据功能

    Laravel框架使用Seeder实现自动填充数据功能

    这篇文章主要介绍了Laravel框架使用Seeder实现自动填充数据功能,结合实例形式分析了Laravel基于Seeder类实现自动填充数据的相关操作技巧与注意事项,需要的朋友可以参考下
    2018-06-06
  • 解读PHP中上传文件的处理问题

    解读PHP中上传文件的处理问题

    这篇文章主要介绍了解读PHP中上传文件的处理问题的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-05-05
  • PHP5中GD库生成图形验证码(有汉字)

    PHP5中GD库生成图形验证码(有汉字)

    本文为大家介绍下利用PHP5中GD库生成图形验证码而且带有汉字,具体的实现思路及代码如下,有需求的朋友可以参考下,希望对大家学习php有所帮助
    2013-07-07
  • php实现文本数据导入SQL SERVER

    php实现文本数据导入SQL SERVER

    php将文本文件导入mysql我们经常遇到,但是如果是导入到sqlserver又应该如何操作呢,下面就给大家分享一下本人的操作方法,感觉效率还不错,这里推荐给大家。
    2015-05-05
  • 详解php日期查询和fastadmin的日期查询

    详解php日期查询和fastadmin的日期查询

    要在PHP中查询数据库中当前月份的数据,需要使用SQL查询语句来筛选出符合条件的数据,这篇文章主要介绍了php查询数据(日期查询)和fastadmin的日期查询,需要的朋友可以参考下
    2023-08-08
  • PHP利用imagick生成组合缩略图

    PHP利用imagick生成组合缩略图

    这里说的imagick 是 ImageMagick 在PHP下的扩展,本文给大家介绍PHP利用imagick生成组合缩略图,需要的朋友参考下
    2016-02-02
  • eaglephp使用微信api接口开发微信框架

    eaglephp使用微信api接口开发微信框架

    EaglePHP框架开发微信5.0的API接口,包含微信5.0 API基础接口、自定义菜单、高级接口,包括如下接收用户消息、向用户回复消息、会话界面自定义菜单、语音识别、客服接口等功能
    2014-01-01
  • PHP strtr() 函数使用说明

    PHP strtr() 函数使用说明

    转换字符串中特定的字符。
    2008-11-11
  • laravel 实现根据字段不同值做不同查询

    laravel 实现根据字段不同值做不同查询

    今天小编就为大家分享一篇laravel 实现根据字段不同值做不同查询,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10

最新评论