小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

thinkphp-切換數據庫

 傾城夏未涼 2016-12-15

好記憶力不如爛筆頭

6.8 切換數據庫

如果你需要切換到另外一個數據庫(包括在相同和不同的數據庫類型之間切換)或者需要連接多個數據庫進行操作不同的數據,就需要使用ThinkPHP提供的數據庫切換方法,用法很簡單, 只需要調用Model類的db方法,用法:
  1. Model->db("數據庫編號","數據庫配置");
數據庫編號用數字格式,對于已經調用過的數據庫連接,是不需要再傳入數據庫連接信息的,系統(tǒng)會自動記錄。對于默認的數據庫連接,內部的數據庫編號是0,因此為了避免沖突,請不要再次定義數據庫編號為0的數據庫配置。
數據庫配置的定義方式和模型定義connection屬性一樣,支持數組、字符串以及調用配置參數三種格式。
Db方法調用后返回當前的模型實例,直接可以繼續(xù)進行模型的其他操作,所以該方法可以在查詢的過程中動態(tài)切換,例如:
  1. $this->db(1,"mysql://root:123456@localhost:3306/test")->query("查詢SQL");
該方法添加了一個編號為1的數據庫連接,并自動切換到當前的數據庫連接。
當第二次切換到相同的數據庫的時候,就不需要傳入數據庫連接信息了,可以直接使用:
  1. $this->db(1)->query("查詢SQL");
如果需要切換到默認的數據庫連接,只需要調用:
  1. $this->db(0);
1
如果我們已經在項目配置中定義了其他的數據庫連接信息,例如:
  1. //數據庫配置1
  2. 'DB_CONFIG1' = array(
  3.     'db_type'  => 'mysql',
  4.     'db_user'  => 'root',
  5.     'db_pwd'   => '1234',
  6.     'db_host'  => 'localhost',
  7.     'db_port'  => '3306',
  8.     'db_name'  => 'thinkphp'
  9. ),
  10. //數據庫配置2
  11. 'DB_CONFIG2' => 'mysql://root:1234@localhost:3306/thinkphp';
我們就可以直接在db方法中調用配置進行連接了:
  1. $this->db(1,"DB_CONFIG1")->query("查詢SQL");
  2. $this->db(2,"DB_CONFIG2")->query("查詢SQL");
如果切換數據庫之后,數據表和當前不一致的話,可以使用table方法指定要操作的數據表:
  1. $this->db(1)->table("top_user")->find();
我們也可以直接用M方法切換數據庫,例如:
  1. M("User","think_","mysql://root:123456@localhost:3306/test")->query("查詢SQL");
或者
  1. M("User","think_","DB_CONFIG1")->query("查詢SQL");

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多