簡體   English   中英

Codeigniter 2手動數據庫連接

[英]Codeigniter 2 manual database connection

我剛剛測試了對Codeigniter 2的升級,遇到了障礙。 我的站點使用多個數據庫,一個是“系統”數據庫,另一個是“內容”數據庫之一。 一次僅加載兩個數據庫,即根據會話中的值加載系統和所需的內容。

由於使用了會話,我通過MY_Controller中的函數連接到控制器的構造函數中的相關內容數據庫。

不知何故,自從升級到codeigniter 2以來,內容數據庫的連接對象並沒有成為使用它的模型。

IE的連接變量在控制器和模型以及MY_Controller和MY_Model的頂部公開,但是在達到MY_Model時,它不再是對象。

有什么想法會在將變量的值傳遞給Codeigniter 2而不是Codeigniter 1.7.3中的模型時重置該變量的值?

兩個數據庫都使用相同的主機名,用戶名和密碼嗎?

如果是,那么這就是我們遇到的相同問題: http : //codeigniter.com/forums/viewthread/72240/P15/

我們通過創建具有不同用戶名的mysql用戶來解決它,userA可以訪問dbA,而userB可以訪問dbB。

發生的事情是當您有:

  1. $this->dbA = $this->load->database('dbA_config', true);
  2. $this->dbB = $this->load->database('dbB_config', true);

當您運行第2行時,php會查看該連接是否已打開,問題是php只查看主機名,用戶名和密碼,因此當您嘗試更改數據庫時,PHP實際上是通過引用來更新dbA。

希望能有所幫助。

-諾亞

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM