【发布时间】:2017-07-23 16:01:29
【问题描述】:
我已经用 dbforge 创建了数据库设置模型,并且还通过控制器调用它来设置数据库。但问题是当我从 localhost 运行 url 时,它给出了数据库错误调用 "Unknown database 'loginproject'" 的错误。注意到我在 config> database.php 'database' => 'loginproject', 中设置了数据库。如果我将其删除,它将不会显示错误。但我想把它留在那里,因为以后在项目中需要它。如何设置它并留在那里进行数据库设置。我的代码如下。
Welcome.php-控制器:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Welcome extends CI_Controller {
public function index()
{
$this-> home();
}
public function home()
{
$data['title'] = 'This is title';
$this -> load -> model('setup_model');
$this -> setup_model -> createDatabase();
$this -> load -> view('welcome_message');
}
}
Setup_model.php- 型号:
<?php
class setup_model extends CI_Model
{
public function __construct() {
}
public function createDatabase()
{
$this->load->dbutil();
$this->load->dbforge();
if (!$this->dbutil->database_exists('loginproject'))
{
$this->dbforge->create_database('loginproject');
$this->db->query('use loginproject');
$fields = array(
'user_id' => array(
'type' => 'int',
'constraint' => 11,
'unsigned' => true,
'auto_increment' => true
),
'username' => array(
'type' => 'varchar',
'constraint' => 230,
),
'email' => array(
'type' => 'varchar',
'constraint' => 250,
),
'password' => array(
'type' => 'varchar',
'constraint' => 255,
),
'created_date' => array(
'type' => 'date',
),
'phone' => array(
'type' => 'varchar',
'constraint' => 255,
),
);
$this -> dbforge -> add_field($fields);
$this -> dbforge -> add_key('user_id', true);
$this -> dbforge -> create_table('users');
echo "Setup Done Succesfully";
}
}
}
【问题讨论】:
-
你是否在自动加载中添加了数据库库
$autoload['libraries'] = array('database'); -
已添加。虽然它给出了错误
标签: php database codeigniter