[TOC]
## 二、Db類的靜態方法connect()
* 創建一張數據表:tp5_staff (命名規則:數據庫名 _ 表名)
* 表中內容如下:

* 靜態方法:指不需要實例化對象,直接用類調用的方法;
* 功能:完成數據庫初始化,并取得數據庫實例;
* 備注:該方法為靜態方法,可被該類所有實例(對象)所共享;

* 該方法,根據參數不同,有二種實現方案:
#### 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()方法后,查詢結果是完全一樣的:

#### 總結:
> 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.查詢/子查詢/連接查詢