Codeigniter showing error: No database selected

2020-04-26 23:45发布

I am using Codeigniter's DBForge class to create a database and table within that database.

Here is code:

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);
}

The above mentioned code is written inside index function of controller. When the following code is executed, it shows error as, No database selected. Does anyone have ant idea why it is happening. Any help is appreciated.

3条回答
女痞
2楼-- · 2020-04-27 00:12

Just refer to database.php file inside application/config folder. Make sure you have proper values for database name and other things in the following lines present in database.php file

$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',

Hope it helps

查看更多
够拽才男人
3楼-- · 2020-04-27 00:12

If you have set the default database in config/database.php and it is still not working, you probably should save the file in case you forget to do that.

查看更多
Anthone
4楼-- · 2020-04-27 00:21

You need to specify

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

in database.php

查看更多
登录 后发表回答