database - 在运行时更改数据库 codeigniter

标签 database codeigniter session

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

目前 CodeIgniter 中的 session 库正在默认数据库中保存 session 数据。我想在运行时更改数据库,以便我可以将 future 的数据保存在用户的相关数据库中。

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

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

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

最佳答案

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

public function __construct() {

        parent::__construct();


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


    }

当你需要添加 session 数据库时,你调用:

$this->session->insert()

这就是你需要的?

关于database - 在运行时更改数据库 codeigniter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35540396/

相关文章:

PHP - 每个选项卡的 session

Java SE 和 Web session

Java:连接到 psql 数据库会引发错误(ClassNotFoundException)

php - 组织 PHP OOP 类来使用 DB

php - 如何在 Codeigniter 中有效地处理菜单模板?

java - 提醒用户 session 被并发登录取代

java - 子表上的 Hibernate Criteria API

mysql - 有没有更简单的方法来实现这种用户消息传递方式?

php - 当我刷新我的页面时,它会自动将值输入到数据库 Codeigniter

php - 无法访问 CodeIgniter 站点