我正在使用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);
}
上面提到的代码写在控制器的索引函数内。执行以下代码时,它会显示错误,未选择数据库。有没有人知道为什么会这样。任何帮助表示赞赏。
答案 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中设置了默认数据库,但该数据库仍不起作用,则可能应该保存该文件,以防万一忘记这样做。