检查数据库连接是否已建立/存在Ci4



我正在尝试检查id数据库连接是否存在,然后重定向到用户可以通过表单输入创建数据库的页面。

以下是我试图做但没有成功的事情。

public function index()
{
// $database = ConfigDatabase::connect();
$database = CodeIgniterDatabaseConfig::getConnections();
if ($database) 
{
//db connection initialized
return view('dashboard');
}
else
{
//db connection  not initialized
return redirect('db_setup');
}
}

使用Virender Kumar的代码,但根据数据库名称验证请求进行扩展,请使用以下内容:

$database = ConfigDatabase::connect();
if ($database) 
{
// check if db exists:
if($database->query("SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME='yourDbName'")) {
//db connection initialized
return view('dashboard');
} else {
return false; // db not exist
}
} else {
//db connection  not initialized
return redirect()->to('db_setup');
}

解释:我添加了一个CodeIgniter4原始查询$db->query(),它从数据库中选择常规信息模式。如果数据库不存在,则会出现错误。

您在重定向函数中有语法错误,我不确定您在getconnections函数中实现了什么,但connect((可以工作。参见更新的代码

$database = ConfigDatabase::connect();
if ($database) 
{
//db connection initialized
return view('dashboard');
}
else
{
//db connection  not initialized
return redirect()->to('db_setup');
}

相关内容

最新更新