2016-07-05 101 views
0

我得到这样的错误SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost'当我试图检查这个如何检查数据库是否存在,该数据库的用户有权连接该数据库 - Laravel

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

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

请帮我这个。谢谢

回答

0

你可以尝试捕捉到了异常:

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')); 
} 
+0

您的帮助好感谢,我要试试这个:)。 – Siddharth

+0

这不起作用,因为如果数据库不存在,'connection'还不知道它。 –