CodeIgniter: используйте Database Forge, чтобы проверить, существует ли БД

Я использую CodeIgniter 3.1.0 для разработки приложения. Чтобы улучшить его установку, я написал Install_Controller и Install_Model. Я использую класс Database Forge для управления базой данных. Благодаря этому я могу создать БД, но не могу до этого проверить, существует ли она. На самом деле, моя идея заключалась в том, чтобы передать запрос в dbforge, например, "CREATE DATABASE, ЕСЛИ НЕ СУЩЕСТВУЕТ mydatabase". Я искал документ, но не было никакой функции, которая могла бы удовлетворить мои требования. Где я могу написать такой запрос?

Вот выдержка из первого:

$this->load->model('Install_Model');
$this->Install_Model->launchInstall();

Вот код последнего:

class Install_Model extends CI_Model {

    public function __construct()   {

        parent::__construct();

            $this->load->dbforge();

    }

    public function index() {

        if ($this->dbforge->create_database('mydatabase')) 
        {
            echo "OK";
        }

        else {

            echo "Error somewhere";
        }

        $this->load->database('mydatabase');
    }

}

1 ответ

Вы можете использовать эту пользовательскую функцию SQL-запроса в вашем скрипте установки для создания новой базы данных.

public function createDB($databse) {
    $strSQL = "CREATE DATABASE IF NOT EXISTS $databse";
    $query = $this->db->query($strSQL);
   if (!$query) {
      throw new Exception($this->db->_error_message(),
      $this->db->_error_number());
                return FALSE;
            } else {
                return TRUE;
            }

}
Другие вопросы по тегам