php - 我们可以在 Codeigniter 中连接多个数据库吗?

标签 php mysql codeigniter multiple-databases

我在连接到另一个数据库时遇到了这个问题。

下面是我的代码。我已经定义了两个数据库,但是当我尝试获取所有记录时,出现以下错误:

表 'crm.cdr_Feb2015' 不存在。

即使我已经在 Controller 中加载了数据库,它也采用默认数据库来选择详细信息。

$active_group = 'default';
    $active_record = TRUE;

    $db['default']['hostname'] = 'localhost';
    $db['default']['username'] = 'root';
    $db['default']['password'] = '*****';
    $db['default']['database'] = 'crm';
    $db['default']['dbdriver'] = 'mysql';
    $db['default']['dbprefix'] = '';
    $db['default']['pconnect'] = FALSE;
    $db['default']['db_debug'] = TRUE;
    $db['default']['cache_on'] = TRUE;
    $db['default']['cachedir'] = '';
    $db['default']['char_set'] = 'utf8';
    $db['default']['dbcollat'] = 'utf8_general_ci';
    $db['default']['swap_pre'] = '';
    $db['default']['autoinit'] = TRUE;
    $db['default']['stricton'] = TRUE;

    $db['asterisk']['hostname'] = 'localhost';
    $db['asterisk']['username'] = 'root';
    $db['asterisk']['password'] = '*****';
    $db['asterisk']['database'] = 'asterisk';
    $db['asterisk']['dbdriver'] = 'mysql';
    $db['asterisk']['dbprefix'] = '';
    $db['asterisk']['pconnect'] = FALSE;
    $db['asterisk']['db_debug'] = TRUE;
    $db['asterisk']['cache_on'] = TRUE;
    $db['asterisk']['cachedir'] = '';
    $db['asterisk']['char_set'] = 'utf8';
    $db['asterisk']['dbcollat'] = 'utf8_general_ci';
    $db['asterisk']['swap_pre'] = '';
    $db['asterisk']['autoinit'] = TRUE;
    $db['asterisk']['stricton'] = TRUE;

现在在我的 Controller 中我已经加载了数据库:

  public function index()
{
    $this->load->database('asterisk', TRUE);

    $test =$this->cdr_m->get();
    var_dump($test);

}

模型文件:

    <?php
     class Cdr_M extends MY_Model
    {

    protected $_table_name = 'cdr_Feb2015';
    protected $_order_by = '';
    protected $_timestamps = TRUE;

    function __construct()
    {
        parent::__construct();
    }
}

最佳答案

试试这个:

 public function index()
{
    $this->db = $this->load->database('asterisk', TRUE);

    $test =$this->cdr_m->get();
    var_dump($test);

}

关于php - 我们可以在 Codeigniter 中连接多个数据库吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32270490/

相关文章:

java - 当 mimetype 为应用程序/八位字节流时​​,如何找到文件的内容类型

php - 使用 SQL 和 Codeigniter 返回 4 维数组

MySQL:使用随机日期或空值填充表

php - 在 codeigniter 中清除 mysql 查询

sql - 在同一表上codeigniter多个联接条件

php - 关于 mysql_query -> mysql_fetch_array() 过程

php - 使用 CodeIgniter 和 MySQL 按列名排序

java - Java如何执行多条SQL语句?

php - 覆盖持久性 :loadAll in EntityRepository

php - 启用基本身份验证 Codeigniter rest API