2013-05-09 2 views
1

Я младший из CodeIgniter, что я хочу сделать, это подключить несколько баз данных для извлечения данных в базе данных, но это не работает для меня, держать вернуть мне 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 
?> 

Модель (I использованием My_model)

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

My Screen Return Результат enter image description here Любая идея, как решить мою проблему или любую ошибку, которую я сделал?

enter image description here

ответ

1

Загрузите базу данных как этот

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

предположил, что 'дт' дб будет установлен по умолчанию

или вы можете попробовать, как этот

$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

+0

Настроена $ active_record = TRUE; для обоих соединений .. ?? – Gautam3164

+0

ya, оба тоже как TRUE, я загрузил новую ошибку, лучше, чем моя предыдущая ошибка сейчас, любая идея, как решить эту ошибку? я думаю, что он почти там :) – Oscar

Смежные вопросы