Laravel使用用户输入的用户名和密码连接到数据库

时间:2017-02-27 18:50:46

标签: database laravel database-schema

我正在尝试为我正在开发的CMS制作某种安装程序。 安装程序页面基本上是用户输入数据库主机,端口,用户名,密码和模式名称的页面。我怎么能用这个输入的数据来测试我是否真的可以连接给定的输入?

1 个答案:

答案 0 :(得分:1)

您可以将用户输入转换为控制器功能并更新config/datadata.php。假设默认情况下驱动程序为mysql,则可以执行以下操作:

public function checkDatabaseConnection(Request $request)
{
    //update the config
     config(['database.connections.mysql' => [
        'host'     => $request->host,
        'username' => $request->username,
        'password' => $request->password
    ]]);

    //Check the credentials by calling PDO 
    try {
        DB::connection()->getPdo();
    } catch (\Exception $e) {
        return redirect()->back()->withErrors(["connection" => "Could not connect to the database.  Please check your input."]);
    }
}

不要忘记在控制器顶部添加use DB