最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

thinkphp 框架數(shù)據(jù)庫切換實現(xiàn)方法分析

 更新時間:2020年05月18日 11:20:12   作者:人生如初見_張默  
這篇文章主要介紹了thinkphp 框架數(shù)據(jù)庫切換實現(xiàn)方法,結(jié)合實例形式分析了thinkphp 框架數(shù)據(jù)庫切換實現(xiàn)方法與操作注意事項,需要的朋友可以參考下

本文實例講述了thinkphp 框架數(shù)據(jù)庫切換實現(xiàn)方法。分享給大家供大家參考,具體如下:

數(shù)據(jù)庫配置:

 //數(shù)據(jù)庫配置1
'db_config1' => [
  // 數(shù)據(jù)庫類型
  'type'    => 'mysql',
  // 服務器地址
  'hostname'  => '127.0.0.1',
  // 數(shù)據(jù)庫名
  'database'  => 'thinkphp',
  // 數(shù)據(jù)庫用戶名
  'username'  => 'root',
  // 數(shù)據(jù)庫密碼
  'password'  => '',
  // 數(shù)據(jù)庫編碼默認采用utf8
  'charset'   => 'utf8',
  // 數(shù)據(jù)庫表前綴
  'prefix'   => 'think_',
],
//數(shù)據(jù)庫配置2
'db_config2' => 'mysql://root:1234@localhost:3306/thinkphp#utf8';

//默認數(shù)據(jù)庫讀取數(shù)據(jù)
$test = Db::name("test")->select();
//第二個數(shù)據(jù)庫讀取數(shù)據(jù)
$test1=Db::connect("DB_Config_1")->name("test")->select();

application/config.php

$db1 = [ 
'type'=>'mysql', 
'hostname'=>'127.0.0.1', 
'database'=>'testA', 
'username'=>'root', 
'password'=>'123456', 
'hostport'=>'3306', 
'params'=>[], 
'charset'=>'utf8', 
'prefix'=>'', ], 
$db2 = [ 
'type'=>'mysql', 
'hostname'=>'127.0.0.1', 
atabase'=>'testB', 
'username'=>'root', 
'password'=>'123456', 
'hostport'=>'3306', 
'params'=>[], 
'charset'=>'utf8', 
'prefix'=>'', ], 
Db::connect('db1')->query('select * from user where age=25');

方法配置

我們可以在調(diào)用Db類的時候動態(tài)定義連接信息,例如:

Db::connect([
  // 數(shù)據(jù)庫類型
  'type'    => 'mysql',
  // 數(shù)據(jù)庫連接DSN配置
  'dsn'     => '',
  // 服務器地址
  'hostname'  => '127.0.0.1',
  // 數(shù)據(jù)庫名
  'database'  => 'thinkphp',
  // 數(shù)據(jù)庫用戶名
  'username'  => 'root',
  // 數(shù)據(jù)庫密碼
  'password'  => '',
  // 數(shù)據(jù)庫連接端口
  'hostport'  => '',
  // 數(shù)據(jù)庫連接參數(shù)
  'params'   => [],
  // 數(shù)據(jù)庫編碼默認采用utf8
  'charset'   => 'utf8',
  // 數(shù)據(jù)庫表前綴
  'prefix'   => 'think_',
]);

或者使用字符串方式:

Db::connect('mysql://root:1234@127.0.0.1:3306/thinkphp#utf8');

字符串連接的定義格式為:

數(shù)據(jù)庫類型://用戶名:密碼@數(shù)據(jù)庫地址:數(shù)據(jù)庫端口/數(shù)據(jù)庫名#字符集

注意:字符串方式可能無法定義某些參數(shù),例如前綴和連接參數(shù)。

如果我們已經(jīng)在應用配置文件(注意這里不是數(shù)據(jù)庫配置文件)中配置了額外的數(shù)據(jù)庫連接信息,例如:

//數(shù)據(jù)庫配置1
'db_config1' => [
  // 數(shù)據(jù)庫類型
  'type'    => 'mysql',
  // 服務器地址
  'hostname'  => '127.0.0.1',
  // 數(shù)據(jù)庫名
  'database'  => 'thinkphp',
  // 數(shù)據(jù)庫用戶名
  'username'  => 'root',
  // 數(shù)據(jù)庫密碼
  'password'  => '',
  // 數(shù)據(jù)庫編碼默認采用utf8
  'charset'   => 'utf8',
  // 數(shù)據(jù)庫表前綴
  'prefix'   => 'think_',
],
//數(shù)據(jù)庫配置2
'db_config2' => 'mysql://root:1234@localhost:3306/thinkphp#utf8';

我們可以改成

Db::connect('db_config1');
Db::connect('db_config2');

database.php是框架默認的數(shù)據(jù)庫配置,里面寫數(shù)據(jù)庫1的信息,新建了個database2.php是放置數(shù)據(jù)庫2的信息。

創(chuàng)建完數(shù)據(jù)庫2之后,在config配置文件里,文件最后引入數(shù)據(jù)庫2的配置信息

$db_con2 = require_once ('database2.php'),
'db_con2' => $db_con2,

代碼中引用:

選擇數(shù)據(jù)庫1的時候,我是用模型查詢的直接寫SQL語句:

//模型查詢
$user = new User();
$result = $user->where('username', $data['username'])
        ->where('password', $data['password'])
        ->find();

或者

User::where('id','1')->find();
//普通結(jié)構(gòu)查詢
Db::table('think_user')->where('id',1)->find();

查詢數(shù)據(jù)庫2的信息時,調(diào)用普通查詢語句:

$list = Db::connect('db_con2')
->table('nrf_amf_reg_info')
->alias('r')
->join('nrf_amf_server s','r.Id = s.nrf_amf_reg_Id','LEFT')
->paginate();

或者

$list = Db::connect('db_con2')->name('nrf_disc_record')->paginate();

注:nrf_amf_reg_info和nrf_disc_record為表名

更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術(shù)總結(jié)》。

希望本文所述對大家基于ThinkPHP框架的PHP程序設(shè)計有所幫助。

相關(guān)文章

  • Laravel 隊列使用的實現(xiàn)

    Laravel 隊列使用的實現(xiàn)

    這篇文章主要介紹了Laravel 隊列使用的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • Symfony2 session用法實例分析

    Symfony2 session用法實例分析

    這篇文章主要介紹了Symfony2 session用法,結(jié)合實例形式分析了Symfony自帶session方法的相關(guān)使用技巧,需要的朋友可以參考下
    2016-02-02
  • PHP?ceil()函數(shù)浮點數(shù)向上取整實現(xiàn)示例

    PHP?ceil()函數(shù)浮點數(shù)向上取整實現(xiàn)示例

    這篇文章主要為大家介紹了PHP?ceil()函數(shù)實現(xiàn)浮點數(shù)向上取整示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • CodeIgniter模板引擎使用實例

    CodeIgniter模板引擎使用實例

    這篇文章主要介紹了CodeIgniter模板引擎使用實例,需要的朋友可以參考下
    2014-07-07
  • PHP獲取時間排除周六、周日的兩個方法

    PHP獲取時間排除周六、周日的兩個方法

    這篇文章主要介紹了PHP獲取時間排除周六、周日的兩個方法,應用在特殊場合,需要的朋友可以參考下
    2014-06-06
  • Yii2分頁的使用及其擴展方法詳解

    Yii2分頁的使用及其擴展方法詳解

    這篇文章主要介紹了Yii2分頁的使用及其擴展方法詳解的相關(guān)資料,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下
    2016-05-05
  • 3個PHP多維數(shù)組轉(zhuǎn)為一維數(shù)組的方法實例

    3個PHP多維數(shù)組轉(zhuǎn)為一維數(shù)組的方法實例

    這篇文章主要介紹了3個PHP多維數(shù)組轉(zhuǎn)為一維數(shù)組的方法實例,分別使用foreach、for、while三種循環(huán)方法來實現(xiàn),需要的朋友可以參考下
    2014-03-03
  • php 實現(xiàn)銀聯(lián)商務H5支付的示例代碼

    php 實現(xiàn)銀聯(lián)商務H5支付的示例代碼

    這篇文章主要介紹了php 實現(xiàn)銀聯(lián)商務H5支付的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • php 分頁類 擴展代碼

    php 分頁類 擴展代碼

    采用url傳遞參數(shù)的方式,可能會有一定的影響或者叫已知的bug,這次做了一些擴展,同時兼容了以前的模式
    2009-06-06
  • PHP如何防止SQL注入攻擊

    PHP如何防止SQL注入攻擊

    這篇文章主要介紹了PHP如何防止SQL注入攻擊,方法和思路都非常的不錯,推薦給大家,需要的朋友可以參考下
    2014-12-12

最新評論

嘉禾县| 长海县| 建宁县| 海安县| 安康市| 梁山县| 佳木斯市| 灵武市| 平原县| 昌都县| 海阳市| 富顺县| 砚山县| 库伦旗| 锡林郭勒盟| 西吉县| 微博| 青冈县| 东乡县| 长宁县| 台东市| 盘锦市| 滁州市| 临泉县| 多伦县| 岫岩| 涿州市| 鄂温| 合江县| 瑞金市| 于都县| 满城县| 巴青县| 安丘市| 满洲里市| 噶尔县| 邓州市| 开化县| 洪洞县| 盐源县| 沁源县|