Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何消除Codeigniter中的数据库错误?_Php_Database_Codeigniter - Fatal编程技术网

Php 如何消除Codeigniter中的数据库错误?

Php 如何消除Codeigniter中的数据库错误?,php,database,codeigniter,Php,Database,Codeigniter,我已经用dbforge创建了数据库设置模型,也通过controller调用它来设置数据库。但问题是,当我从本地主机运行url时,调用“未知数据库‘loginproject’”时会出现数据库错误。注意,我已经在config>database.php'database'=>'loginproject',中设置了数据库。如果我删除它,它将不会显示错误。但我想把它留在那个里,因为以后它会在项目中被需要。如何将其设置为停留在那里进行数据库设置。我的代码如下 Welcome.php-控制器: <?ph

我已经用dbforge创建了数据库设置模型,也通过controller调用它来设置数据库。但问题是,当我从本地主机运行url时,调用“未知数据库‘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');


    }

}
<?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";

  }



    }



}

手动创建数据库并连接config/database.php
然后在createDatabase()中更改以下内容


是否在autoload
$autoload['libraries']=array('database')中添加了数据库库已添加。虽然它给出了错误您所做的更改?唯一关闭if条件如果数据库已存在no,它将检查数据库是否存在,然后还会创建表,表将使用此条件创建一次
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";
}