Laravel 5使用用户输入创建数据库连接

时间:2015-08-21 08:56:59

标签: php mysql laravel-5

我正在为一个小项目创建一个CMS,并且需要用户能够在初始设置期间连接到数据库。

我正在使用中间件检查数据库连接是否正确(并且表存在),如果是,则运行应用程序。如果没有,请运行设置。

public function handle($request, Closure $next) {
    if(DB::connection()) {
        return $next($request);
    } else {
        return redirect('/setup');
    }       
}

基本上,用户将自己创建数据库,然后在安装过程中提供数据库名称,用户名和密码,这将创建包含这些详细信息的.env文件。

但是,应用程序因此错误而失败:

SQLSTATE[HY000] [1045] Access denied for user ''@'localhost' (using password: NO)

有没有办法让这项工作? 或者有更好的方法来解决这个问题吗?

由于

1 个答案:

答案 0 :(得分:0)

从mysql错误中你没有将mysql用户名和密码传递给查询 Access denied for user 'you should have something here'@'localhost'
using password: NO这应该是YES
因为您正在获取mysql用户并从运行安装脚本的用户传递。