0

我正在使用 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');
    }

}
4

1 回答 1

0

您可以在安装脚本中使用此自定义 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;
            }

}
于 2016-08-11T16:27:58.843 回答