我正在尝试检查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');
}