【问题标题】:Laravel 5 Create Database Connection with User InputLaravel 5 使用用户输入创建数据库连接
【发布时间】:2025-12-06 21:00:02
【问题描述】:

我正在为一个小项目创建一个 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)

有没有办法让它工作? 还是有更好的方法来解决这个问题?

谢谢

【问题讨论】:

  • 我也在尝试制作一个安装程序页面,谁能告诉我该怎么做??

标签: php mysql laravel-5


【解决方案1】:

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

【讨论】: