Codeigniter显示错误:未选择数据库

时间:2013-05-06 06:03:05

标签: mysql codeigniter dbforge

我正在使用Codeigniter的DBForge类在该数据库中创建数据库和表。

这是代码:

if ($this->dbforge->create_database('new_db')) {
     $fields = array(
         'blog_id' => array(
              'type' => 'INT',
              'constraint' => 5,
              'unsigned' => TRUE,
              'auto_increment' => TRUE
          ),
          'blog_title' => array(
              'type' => 'VARCHAR',
              'constraint' => '100',
          ),
          'blog_author' => array(
              'type' => 'VARCHAR',
              'constraint' => '100',
              'default' => 'King of Town',
          ),
          'blog_description' => array(
              'type' => 'TEXT',
              'null' => TRUE,
          ),
     );
     $this->dbforge->add_field($fields);
     $this->dbforge->add_key('blog_id', TRUE);
     $this->dbforge->create_table('blog', TRUE);
}

上面提到的代码写在控制器的索引函数内。执行以下代码时,它会显示错误,未选择数据库。有没有人知道为什么会这样。任何帮助表示赞赏。

3 个答案:

答案 0 :(得分:6)

您需要指定

 $db['default']['database'] = "new_db"; 

在database.php中

答案 1 :(得分:1)

只需参考application / config文件夹中的database.php文件即可。确保数据库名称和database.php文件中的以下行中的其他内容具有正确的值

$db['default'] = array(
'dsn'   => '',
'hostname' => 'localhost',
'username' => 'your username', //By default it is root
'password' => 'your password', //By default this field is empty
'database' => 'database name',//The error that you are getting is because of this only. Specify your database name here
'dbdriver' => 'mysqli',

希望有所帮助

答案 2 :(得分:0)

如果您在config / database.php中设置了默认数据库,但该数据库仍不起作用,则可能应该保存该文件,以防万一忘记这样做。