2013-05-09 69 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