动态告知CI必须使用哪个数据库

时间:2016-08-12 11:12:56

标签: php mysql database codeigniter

我使用CI 3.1.0开发了一个应用程序,我想让它更具可移植性,所以我开发了一个Install模型,由Install控制器调用。基本上,当它被调用时,它会检查是否有一个具有特定名称的数据库(在database.php中提供了凭据)。如果没有这样的DB,它会创建它,然后在其中创建表。

我创建了一个名为'newbase'的新组,其中在安装过程中动态添加凭据;例如,要给出数据库名称,我有以下代码:

    $this->db->database = $database;

我的问题是当我想用Database Forge create_table()方法创建表时:我收到一条错误消息,告诉我没有选择DB(错误1046)。

在创建表之前,我加载了正确的数据库并检查了它是否正在使用中:

$this->load->database('newbase', TRUE);
echo "<BR>the active database is :".$this->db->database;

但是,我仍然收到1046错误。如果我没弄错的话,加载数据库相当于关键字USE,那么为什么我的解决方案不起作用呢?

由于

0 个答案:

没有答案