检查数据库连接是否建立/存在 Ci4
Checking if database connection established / exists Ci4
我正在尝试检查 ID 数据库连接是否存在,然后重定向到用户可以通过表单输入创建数据库的页面。
这是我尝试过但没有成功的方法。
public function index()
{
// $database = \Config\Database::connect();
$database = \CodeIgniter\Database\Config::getConnections();
if ($database)
{
//db connection initialized
return view('dashboard');
}
else
{
//db connection not initialized
return redirect('db_setup');
}
}
您在重定向函数中有语法错误,我不确定您在那里实现的 getconnections 函数是什么,但 connect () 会起作用。查看更新后的代码
$database = \Config\Database::connect();
if ($database)
{
//db connection initialized
return view('dashboard');
}
else
{
//db connection not initialized
return redirect()->to('db_setup');
}
使用来自 Virender Kumar 的代码,但根据您对 dbname 验证的请求对其进行扩展,使用如下内容:
$database = \Config\Database::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');
}
说明:我添加了一个 CodeIgniter 4 原始查询 $db->query()
从数据库中选择一般信息模式。如果数据库不存在,你会得到一个错误。
我正在尝试检查 ID 数据库连接是否存在,然后重定向到用户可以通过表单输入创建数据库的页面。
这是我尝试过但没有成功的方法。
public function index()
{
// $database = \Config\Database::connect();
$database = \CodeIgniter\Database\Config::getConnections();
if ($database)
{
//db connection initialized
return view('dashboard');
}
else
{
//db connection not initialized
return redirect('db_setup');
}
}
您在重定向函数中有语法错误,我不确定您在那里实现的 getconnections 函数是什么,但 connect () 会起作用。查看更新后的代码
$database = \Config\Database::connect();
if ($database)
{
//db connection initialized
return view('dashboard');
}
else
{
//db connection not initialized
return redirect()->to('db_setup');
}
使用来自 Virender Kumar 的代码,但根据您对 dbname 验证的请求对其进行扩展,使用如下内容:
$database = \Config\Database::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');
}
说明:我添加了一个 CodeIgniter 4 原始查询 $db->query()
从数据库中选择一般信息模式。如果数据库不存在,你会得到一个错误。