1

我是codeigniter的初级,我想做的是连接多个数据库来检索数据库数据,但这对我不起作用,继续返回404错误页面

这是我的代码

配置/数据库.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';
}
?>

我的屏幕返回结果 在此处输入图像描述 任何想法如何解决我的问题或我犯的任何错误?

在此处输入图像描述

4

1 回答 1

1

像这样加载你的数据库

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

假设 'qm' db 将被设置为默认值

或者你可以这样尝试

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

那么你可以使用like

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

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

在你的情况下试试

if($query = $DB2->get_all())
{
    $data['recordings_record'] = $query;
}
于 2013-05-09T07:17:59.267 回答