Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在CodeIgniter中加载多个数据库_Php_Mysql_Codeigniter - Fatal编程技术网

Php 在CodeIgniter中加载多个数据库

Php 在CodeIgniter中加载多个数据库,php,mysql,codeigniter,Php,Mysql,Codeigniter,我试图建立一个网站使用codeigniter,我将使用两个数据库 然而,我似乎有一个问题,使他们的工作 我得到的错误是 A PHP Error was encountered Severity: Notice Message: Undefined variable: cms_db Filename: models/site_model.php 致命错误:对非对象调用成员函数select() 这是我的密码 控制器(site.php) 这就是我回应他们的方式 <?php echo $l

我试图建立一个网站使用codeigniter,我将使用两个数据库

然而,我似乎有一个问题,使他们的工作

我得到的错误是

A PHP Error was encountered

Severity: Notice

Message: Undefined variable: cms_db

Filename: models/site_model.php
致命错误:对非对象调用成员函数select()

这是我的密码

控制器(site.php)

这就是我回应他们的方式

<?php echo $learnfn->name; ?>

我错过什么了吗


感谢您的帮助

首先,在配置文件中,您必须仅定义一个活动组,活动记录为true,而不是两者都为true,并且在控制器上加载$cms_db,如果您的活动组为默认组,则可以按以下方式执行

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Site extends CI_controller {

public function __construct()
{
    parent::__construct();
    // Your own constructor code
    $this->load->model("site_model");

    $this->site_model->cms_db = $this->load->database('cms', TRUE);

} 

}

如果您希望$cms_db始终创建MY_模型并将其放入构造函数加载数据库,并使用MY_模型扩展您的所有模型

请检查是否尝试了此操作,但仍会出现相同的错误。我通过重复行$cms\u db=$this->load->database('cms',TRUE)修复了它;我的站点模型中的每个函数中都有另一个函数,但这种方法似乎太单调乏味了。另外,感谢您的回复检查编辑版MY_Model无需在每个月重复您可以调用$this->cms_db->select('*')->get_where('yourtable')->result();尝试在MY_模型中添加行,出现此错误严重性:注意消息:未定义属性:Site:$Site_Model文件名:core/Model.php以及遇到php错误严重性:注意消息:间接修改重载属性Site_Model:$Site_Model无效文件名:models/Site_Model.phpy必须将MY_模型放在application/core目录中,并以正常方式扩展您的模型
    //CMS
    $active_group = 'cms';
    $active_record = TRUE;

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

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

    $db['default']['hostname'] = 'localhost';
    $db['default']['username'] = 'root';
    $db['default']['password'] = '';
    $db['default']['database'] = 'db1';
    $db['default']['dbdriver'] = 'mysql';
    $db['default']['dbprefix'] = '';
    $db['default']['pconnect'] = TRUE;
    $db['default']['db_debug'] = TRUE;
    $db['default']['cache_on'] = FALSE;
    $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'] = FALSE;
<?php echo $learnfn->name; ?>
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Site extends CI_controller {

public function __construct()
{
    parent::__construct();
    // Your own constructor code
    $this->load->model("site_model");

    $this->site_model->cms_db = $this->load->database('cms', TRUE);

} 

}
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Site_model extends MY_Model
{   

    public $cms_db;

    //other option if you are not passing through controller
    // this will always load cms_db 
    function __ construct(){
        parent::__construct();
     }

    function get_cp()
    {
        return $this->db->select()->from("listings")->where("list_UID","2")->get();
    }

    function get_op()
    {
        return $this->db->select()->from("listings",0,4)->where("list_UID","1")->get();
    }

    function get_learnfn()
    {
        return $this->cms_db->select()->from("education")->get()->row();
    }
}
//  CI 2.0 Compatibility
if(!class_exists('CI_Model')) { class CI_Model extends Model {} }

     class MY_Model extend CI_Model{
       public $cms_db = null;
        function __construct(){
           $this->site_model->cms_db = $this->load->database('cms', TRUE);
        }
     }