如何检查数据库是否存在以及该数据库的用户是否有权连接该数据库 - Laravel

时间:2016-07-05 17:56:24

标签: mysql laravel database-connection

当我试图检查时,我发现了这种错误SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost'

if(DB::connection())
{
   //do something
}

现在我要做的是想检查哪个应用程序尝试连接的数据库是否存在。如果是,则应检查应用程序中定义的用户是否具有连接到该数据库的权限。如果是,那么我想迁移所有表格。

请帮我解决这个问题。谢谢

1 个答案:

答案 0 :(得分:-1)

您可以尝试捕获异常:

public function test($connectionName)// connection name
{
    $state = true;
    try {
        \DB::connection($connectionName);
    } catch( \PDOException $e) {
        $state = false;
    }

    return $state;
}

public function index()
{
    dd($this->test('mysql'));
}