[TOC]
## 二、Db类的静态方法connect()
* 创建一张数据表:tp5_staff (命名规则:数据库名 _ 表名)
* 表中内容如下:
![](https://box.kancloud.cn/289e13ef0dbc2d1ce3101bc5612111e2_898x775.png)
* 静态方法:指不需要实例化对象,直接用类调用的方法;
* 功能:完成数据库初始化,并取得数据库实例;
* 备注:该方法为静态方法,可被该类所有实例(对象)所共享;
![](https://box.kancloud.cn/25bcccdb68e056ac542609a7f5e413b8_982x597.png)
* 该方法,根据参数不同,有二种实现方案:
#### 1、数组作为参数
* 我们现在工作在:app/index/controller/Index 控制器的index方法;
* 文件位置:/application/index/controller/Index.php;
* 控制器Index文件内容:
~~~
<?php
namespace app\index\controller;
use think\Db;
use think\Debug;
class Index{
public function index(){
//设置数据库配置参数数组
$dbConfig = [
// 数据库类型
'type' => 'mysql',
// 数据库连接DSN配置
'dsn' => '',
// 服务器地址
'hostname' => 'localhost',
// 数据库名
'database' => 'tp5',
// 数据库用户名
'username' => 'root',
// 数据库密码
'password' => 'root',
// 数据库连接端口
'hostport' => '3306',
// 数据库连接参数
'params' => [],
// 数据库编码默认采用utf8
'charset' => 'utf8',
// 数据库表前缀
'prefix' => 'tp5_',
];
//将配置数组做为connect()的参数传入
$result=Db::connect($dbConfig) //创建数据库连接
->table('tp5_staff') //选择数据表
->select(); //输出结果集
//以二维数据方式返回结果集
Debug::dump($result);
}
}
~~~
* * * * *
#### 2、字符串做为参数
* 基本格式:数据库类型://用户名:密码@数据库地址:数据库端口/数据库名\#字符集
* 文件位置:/application/index/controller/Index.php
* 控制器Index文件内容:
~~~
<?php
namespace app\index\controller;
use think\Db;
use think\Debug;
class Index{
public function index(){
//数据库连接配置字符串
$dbConfig = 'mysql://root:root@localhost:3306/tp5#utf8';
//将配置字符串做为connect()的参数传入
$result=Db::connect($dbConfig) //创建数据库连接
->table('tp5_staff') //选择数据表
->select(); //输出结果集
//以二维数据方式返回结果集
Debug::dump($result);
}
}
~~~
* 以上二种参数传入connect()方法后,查询结果是完全一样的:
![](https://box.kancloud.cn/d141f5399fc1481673e2bb03c50c792e_760x761.png)
#### 总结:
> 1、数组方式配置:可以设置更多的信息,如表前缀等;
2、字符串方式配置:只可设置必须的连接信息,简洁、灵活。
- 前言[随时更新]
- ThinkPHP 5数据库重构
- 开发环境
- 1.ThinkPHP5开发环境(Mac版)
- 2.ThinkPHP5开发环境(Win版)
- MySQL快速复习
- 1.数据库操作
- 2.数据表操作
- 1.创建数据表 (重点)
- 2.添加数据表记录
- 3.查询数据表(重点)
- 4.更新数据表
- 5.编辑数据表结构(重点)
- 6_复制数据表
- 7.删除数据和表
- 连接数据库
- 1.数据库配置文件database.php
- 2.Db类静态方法connect()
- 3.模块中的配置文件config.php
- MySQL原生查询
- 1.读操作query
- 2.写操作execute
- 选择数据表
- 1.table与setTable方法
- 2.name方法
- 3.db助手函数
- 4.alias方法
- 结果集查询
- 1.find方法
- 2.select方法
- 3.fetchSql方法
- 4.value方法
- 5.column方法
- 6.field方法
- 新增数据
- 1.insert_单条添加
- 2.insertAll_批量添加
- 3_db_助手函数添加
- 更新数据
- 1.update方法
- 2.setField更新字段
- 3_自增自减与延时更新
- 删除数据
- 1.delete方法
- 查询方法
- 1.getTableInfo方法
- 2.where方法
- 3.whereOr方法
- 4.混合查询(闭包实现)
- 表达式查询
- 1.表达式查询(重点)
- 2.exp通用查询
- 分组查询
- 1.group方法
- 2.having方法
- 排序分页查询
- 1.order方法
- 2.limit方法
- 3.page方法
- 聚合查询
- 时间查询
- 1.where方法
- 2.whereTime方法
- 高级查询
- 1.快捷查询
- 2.区间查询
- 3.批量查询
- 4.Query对象查询
- 5.混合查询
- 视图查询
- view方法
- 子查询
- 1.select方法
- 2.fetchSql方法
- 3.buildSql方法
- 4.闭包子查询
- 总结/参考
- 1.方法参数类型总结
- 2.查询/子查询/连接查询