我使用CodeIgniter 3.1.0开发应用。 为了改进其安装,我编写了一个Install_Controller和一个Install_Model。我使用Database Forge类来管理数据库。多亏了它,我可以创建一个数据库,但我不能检查它是否存在。实际上,我的想法是将查询传递给dbforge,例如" CREATE DATABASE IF NOT EXISTS 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');
}
}
答案 0 :(得分: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;
}
}