2013-05-09 71 views
1

我初中笨的,我想要做的是連接多個數據庫檢索數據庫中的數據,但它不是爲我工作,保持返回我的404錯誤頁面爲什麼我的Codeigniter無法連接多個數據庫?

這裏是我的代碼

配置/ database.php中

$active_group = 'qm'; 
$active_record = TRUE; 

$db['qm']['hostname'] = '192.168.0.128'; 
$db['qm']['username'] = 'callcenter'; 
$db['qm']['password'] = 'ca11c3nt3r'; 
$db['qm']['database'] = 'qm'; 
$db['qm']['dbdriver'] = 'mysql'; 
$db['qm']['dbprefix'] = ''; 
$db['qm']['pconnect'] = TRUE; 
$db['qm']['db_debug'] = TRUE; 
$db['qm']['cache_on'] = FALSE; 
$db['qm']['cachedir'] = ''; 
$db['qm']['char_set'] = 'utf8'; 
$db['qm']['dbcollat'] = 'utf8_general_ci'; 
$db['qm']['swap_pre'] = ''; 
$db['qm']['autoinit'] = TRUE; 
$db['qm']['stricton'] = FALSE; 

/* call contact detail table */ 
$active_group = "reportcallcenter"; 
$active_record = TRUE; 

$db['reportcallcenter']['hostname'] = '192.168.0.128'; 
$db['reportcallcenter']['username'] = 'callcenter'; 
$db['reportcallcenter']['password'] = 'ca11c3nt3r'; 
$db['reportcallcenter']['database'] = 'reportcallcenter'; 
$db['reportcallcenter']['dbdriver'] = 'mysql'; 
$db['reportcallcenter']['dbprefix'] = ""; 
$db['reportcallcenter']['pconnect'] = TRUE; 
$db['reportcallcenter']['db_debug'] = TRUE; 
$db['reportcallcenter']['cache_on'] = FALSE; 
$db['reportcallcenter']['cachedir'] = ""; 
$db['reportcallcenter']['char_set'] = "utf8"; 
$db['reportcallcenter']['dbcollat'] = "utf8_general_ci"; 
$db['reportcallcenter']['swap_pre'] = ''; 
$db['reportcallcenter']['autoinit'] = TRUE; 
$db['reportcallcenter']['stricton'] = FALSE; 

控制器

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 
class Qm extends CI_Controller { 

    public function __construct() 
    { 
     parent::__construct(); 
     $this->permission->is_logged_in(); 
     //load model 
     $this->load->helper('url'); 
     $this->load->model('callcontactsdetails_model'); 
     $this->load->database('qm', TRUE); 
     $this->load->database('reportcallcenter', TRUE); 
    } 

    function qm_form() 
    { 
     $data = array(); 
     $data['page'] = 'qm_form'; 
     if($query = $this->callcontactsdetails_model->get_all()) 
     { 
      $data['recordings_record'] = $query; 
     } 
     $data['main'] = 'qm/qm_form'; 
     $data['js_function'] = array('qm'); 
     $this->load->view('template/template',$data); 
    } 
}//end of class 
?> 

模型(我用My_model)

<?php 
class Callcontactsdetails_model extends MY_Model { 
    protected $_table = 'callcontactsdetails'; 
    protected $primary_key = 'id'; 
} 
?> 

我的屏幕返回結果 enter image description here 任何想法如何解決我的問題或任何錯誤,我做了?

enter image description here

回答

1

加載數據庫這樣

$this->db_report = $this->CI->load->database('reportcallcenter', TRUE); 

假設 'QM' 分貝將被設置爲默認

,或者你可以嘗試這樣的

$DB1 = $this->load->database('qm', TRUE); 
$DB2 = $this->load->database('reportcallcenter', TRUE); 

然後你可以使用像

$DB1->query(); 
$DB1->result(); 

$DB2->query(); 
$DB2->result(); 
你的情況

嘗試像

if($query = $DB2->get_all()) 
{ 
    $data['recordings_record'] = $query; 
} 
+0

感謝@ Gautam3164的答覆後,我加了你的負擔,但它還是回到了我同樣的錯誤顯示服務器錯誤 – Oscar 2013-05-09 07:23:54

+0

你有沒有設置$ active_record = TRUE;爲這兩個連接.. ?? – Gautam3164 2013-05-09 07:25:33

+0

雅,兩者也如真,我上傳了新的錯誤,比我以前的錯誤現在好,任何想法如何解決錯誤?我認爲它幾乎在那裏:) – Oscar 2013-05-09 07:29:27