Oscar
Oscar

Reputation: 1103

Why my Codeigniter unable to connect multiple database?

I am junior of codeigniter, what I want to do is connect multiple database to retrieve the database data, but it is not working for me, keep return me 404 error page

here is my code

config/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;

Controller

<?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
?>

Model (I using My_model)

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

My Screen Return Result enter image description here Any Idea how to solve my problem or any mistake I did ?

enter image description here

Upvotes: 1

Views: 299

Answers (1)

GautamD31
GautamD31

Reputation: 28763

Load your database like this

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

assumed that 'qm' db will be set as default

or you can try like this

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

then you can use like

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

and

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

in your case try like

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

Upvotes: 1

Related Questions