2014-04-09 93 views
1

我使用兩個數據庫,oracle和postgresql。 Postgre數據庫是默認的,我想連接只在需要的地方。那我該怎麼做?在Codeigniter庫中連接另一個數據庫

現在我想在我的庫中連接oracle數據庫。

我在圖書館代碼:

 function find_all_subjects($id1,$id2) 
{ 
    $DB1 = $this->load->database('database2', TRUE); 
    $sql="sql here"; 
    $query=$DB1->query($sql); 
    return $query->result(); 

} 

但低於其給予錯誤:

Severity: Notice 

Message: Undefined property: Somefunction::$load 

做任何人有什麼錯的代碼或如何連接另一個數據庫?

+0

我想之前V3笨不包括默認情況下,庫中的超級對象,所以你需要使用&get_instance來定義它();那麼你可以加載和做任何你想要的 – ahmad

+0

如何做請詳細說明.... –

回答

0

像這樣(未測試):

class Classname { 

    protected $CI; 

    protected $database2; 

    public function __construct() { 
     $this->CI =& get_instance(); 
     $this->database2 = $this->CI->load->database('database2', TRUE); 
    } 

    public function function_name() { 
     $this->database2->query('...'); 
    } 

} 
0

從CodeIgniter的文檔

訪問磁帶庫中CodeIgniter的本地資源使用 get_instance()函數。這個函數返回CodeIgniter超級對象 。

這意味着你的模型,你需要做以下

$CI =& get_instance(); 
$DB1 = $CI->load->database('database2', TRUE);