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程序设计有所帮助。

相关文章

  • php实现邮件发送并带有附件

    php实现邮件发送并带有附件

    这篇文章主要介绍了php发送邮件的示例,并可以发送带附件的邮件,大家参考使用吧
    2014-01-01
  • PHP 使用memcached简单示例分享

    PHP 使用memcached简单示例分享

    在很多场合,我们都会听到 memcached 这个名字,但很多同学只是听过,并没有用过或实际了解过,只知道它是一个很不错的东东。这里简单介绍一下,memcached 是高效、快速的分布式内存对象缓存系统,主要用于加速WEB动态应用程序。今天我们就先来简单探讨下memcached的用法
    2015-03-03
  • Thinkphp5+uploadify实现的文件上传功能示例

    Thinkphp5+uploadify实现的文件上传功能示例

    这篇文章主要介绍了Thinkphp5+uploadify实现的文件上传功能,结合实例形式分析了Thinkphp5结合uploadify实现文件上传的具体步骤、原理与相关操作技巧,需要的朋友可以参考下
    2018-05-05
  • centos7上编译安装php7以php-fpm方式连接apache

    centos7上编译安装php7以php-fpm方式连接apache

    这篇文章主要介绍了centos7上编译安装php7以php-fpm方式连接apache的相关知识,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-11-11
  • php判断手机浏览还是web浏览,并执行相应的动作简单实例

    php判断手机浏览还是web浏览,并执行相应的动作简单实例

    下面小编就为大家带来一篇php判断手机浏览还是web浏览,并执行相应的动作简单实例。小编觉得挺不错的,现在就分享给大家,也给的大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • 详解 PHP加密解密字符串函数附源码下载

    详解 PHP加密解密字符串函数附源码下载

    项目中有时我们需要使用PHP将特定的信息进行加密,也就是通过加密算法生成一个加密字符串,这个加密后的字符串可以通过解密算法进行解密,便于程序对解密后的信息进行处理
    2015-12-12
  • smarty的section嵌套循环用法示例

    smarty的section嵌套循环用法示例

    这篇文章主要介绍了smarty的section嵌套循环用法,结合简单实例形式分析了Smarty使用section进行嵌套循环操作的实现技巧,需要的朋友可以参考下
    2016-05-05
  • wiki-shan写的php在线加密的解密程序

    wiki-shan写的php在线加密的解密程序

    找了一下非扩展方式的php加密方法: 这里有个在线的,还不错。木马防杀还行,要保护代码可就不行了。
    2008-09-09
  • PHP中重启php-fpm的几种方法汇总

    PHP中重启php-fpm的几种方法汇总

    这篇文章主要介绍了PHP中重启php-fpm的几种方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • 详解PHP中curl_multi并发的实现

    详解PHP中curl_multi并发的实现

    这篇文章主要介绍了详解PHP中curl_multi并发的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06

最新评论