簡體   English   中英

CodeIgniter:使用數據庫偽造測試數據庫是否存在

[英]CodeIgniter : use Database Forge to test if DB exists

我正在使用CodeIgniter 3.1.0開發應用程序。 為了改進其安裝,我編寫了一個Install_Controller和一個Install_Model。 我正在使用Database Forge類來管理數據庫。 多虧了它,我可以創建一個數據庫,但是無法檢查它是否存在。 實際上,我的想法是將查詢傳遞給dbforge,例如“如果不存在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');
    }

}

您可以在安裝腳本中使用此自定義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;
            }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM