# ThinkPhP5 視頻教程(八):數據庫-基本操作

* 數據庫配置
我們給應用定義數據庫配置文件(appliation/database.php),里面設置了應用的全局數據庫配置信息。
該數據庫配置文件的基本定義如下
~~~
return [
// 數據庫類型
'type' => 'mysql',
// 服務器地址
'hostname' => '127.0.0.1',
// 數據庫名
'database' => 'test',
// 數據庫用戶名
'username' => 'root',
// 數據庫密碼
'password' => '',
// 數據庫連接端口
'hostport' => '',
// 數據庫連接參數
'params' => [],
// 數據庫編碼默認采用utf8
'charset' => 'utf8',
// 數據庫表前綴
'prefix' => '',
// 數據庫調試模式
'debug' => true,
];
~~~
* 切換數據庫
為了簡化代碼,通常的做法是事先在配置文件中定義好多個數據庫的連接配置,例如,我們在應用配置文件(application/config.php)中添加配置如下:
~~~
// 數據庫配置1
'db1' => [
// 數據庫類型
'type' => 'mysql',
// 服務器地址
'hostname' => '127.0.0.1',
// 數據庫名
'database' => 'thinkphp',
// 數據庫用戶名
'username' => 'root',
// 數據庫密碼
'password' => '123456',
// 數據庫連接端口
'hostport' => '',
// 數據庫連接參數
'params' => [],
// 數據庫編碼默認采用utf8
'charset' => 'utf8',
// 數據庫表前綴
'prefix' => 'think_',
],
// 數據庫配置2
'db2' => [
// 數據庫類型
'type' => 'mysql',
// 服務器地址
'hostname' => '127.0.0.1',
// 數據庫名
'database' => 'test',
// 數據庫用戶名
'username' => 'root',
// 數據庫密碼
'password' => '',
// 數據庫連接端口
'hostport' => '',
// 數據庫連接參數
'params' => [],
// 數據庫編碼默認采用utf8
'charset' => 'utf8',
// 數據庫表前綴
'prefix' => 'test_',
],
~~~
然后就可以直接在connect方法中傳入配置參數進行切換數據庫連接,例如:
~~~
$result = Db::connect('db1')->query('select * from think_data where id = 1');
$result = Db::connect('db2')->query('select * from think_data where id = 1');
~~~
* 參數綁定
實際開發中,可能某些數據使用的是外部傳入的變量,為了讓查詢操作更加安全,我們建議使用參數綁定機制,例如上面的操作可以改為:
~~~
Db::execute('insert into think_data (id, name ,status) values (?, ?, ?)', [8, 'thinkphp', 1]);
$result = Db::query('select * from think_data where id = ?', [8]);
dump($result);
~~~
也支持命名占位符綁定,例如:
~~~
Db::execute('insert into think_data (id, name , status) values (:id, :name, :status)', ['id' => 10, 'name' => 'thinkphp', 'status' => 1]);
$result = Db::query('select * from think_data where id=:id', ['id' => 10]);
dump($result);
~~~
~~~[youku]
XMjc0MDQxNDg5Mg =856x523
~~~
### 課程用到的數據庫到TPshop官網去下載開源程序,安裝程序后就有TPshop數據庫
TPshop官網下載地址 http://www.tp-shop.cn
### 視頻播放密碼: tpshop 如提示密碼錯誤, 請多更換幾個瀏覽器試試
http://pan.baidu.com/s/1nvIvkoD 高清視頻下載地址(含demo)
**TP5粉絲群: 364702379**
[需要TPshop商城源碼的可前往TPshop官網免費下載安裝](http://www.tp-shop.cn)
- 第一講、課程大綱
- 第二講、入門與安裝-上
- 第二講、入門與安裝-下
- 第三講、URL和路由-路由
- 第四講、URL和路由-URL
- 第五講、請求和響應-請求
- 第六講、請求和響應-響應
- 第七講、SQL追蹤器
- 第八講、數據庫-基本操作
- 第九講、數據庫操作-事務
- 第十講、查詢語言-上
- 第十一講、查詢語言-下
- 第十二講、模型和關聯-上
- 第十三講、模型和關聯-下
- 第十四講、讀取器與修改器
- 第十五講、轉換與自動完成
- 第十六講、查詢范圍
- 第十七講、輸入和驗證-上
- 第十八講、輸入和驗證-下
- 第十九講、關聯-一
- 第二十講、關聯-二
- 第二十一講、關聯-三
- 第二十二講、關聯-四
- 第二十三講、關聯-五
- 第二十四講、模型輸出
- 第二十五講、視圖和模板-一
- 第二十六講、視圖和模板-二
- 第二十七講、調試和日志
- 第二十八講、API開發
- 第二十九講、擴展
- 第三十講、淺析session,cookie機制
- 第三十一講、session的使用
- 第三十二講、cookie的使用
- 第三十三講、驗證碼
- 第三十四講、文件上傳
- 第三十五講、圖像處理
- 第三十六講、版本3.2和5的差別
- 第三十七講、未來與總結
- 第二套、TPshop大型項目實戰
- TPshop項目實戰
- 第一講、內容介紹
- 第二講、TPshop window安裝
- 第三講、TPshop linux安裝
- 第四講、TPshop目錄結構
- 第五講、單點登錄
- 第六講、支付插件原理
- 第七講、支付寶支付集成
- 第八講、微信支付
- 第九講、銀聯支付
- 第十講、TPshop QQ快捷登錄
- 第十一講、支付寶登錄
- 第十二講,微信掃碼登錄
- 第十三講,新手入門微信開發
- 第十四講,10分鐘將TPshop部署服務器上線
- 第十五講,網站真實高并發架設
- 第十六講,網站真實高并發架設