在运行时更改数据库codeigniter

时间:2016-02-21 18:49:01

标签: database codeigniter session

我有一个使用多个数据库的应用程序。我想从父数据库验证用户身份。然后将Session数据保存在用户的相关数据库中。

目前,CodeIgniter中的会话库将会话数据保存在默认数据库中。我想在运行时更改数据库,以便将未来数据保存在用户的相关数据库中。

请告诉我如何在Session Lib中设置数据库名称

if ($this->sess_use_database === TRUE)
    {
        $this->CI->db1->query($this->CI->db1->insert_string($this->sess_table_name, $this->userdata));
    }

我想更改$ this->每次需要时都要更改CI-db1。

1 个答案:

答案 0 :(得分:1)

您可以创建自定义核心名称 MY_Controller ,在 __ construct()方法中,您可以添加以下代码:

public function __construct() {

        parent::__construct();


        $this->user = $this->load->database("default", true);
        $this->session = $this->load->database("session", true);


    }

当您需要添加会话数据库时,请调用:

$this->session->insert()

这是你需要的吗?