我正在为一个小项目创建一个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)
有没有办法让这项工作? 或者有更好的方法来解决这个问题吗?
由于
答案 0 :(得分:0)
从mysql错误中你没有将mysql用户名和密码传递给查询
Access denied for user 'you should have something here'@'localhost'
using password: NO
这应该是YES
因为您正在获取mysql用户并从运行安装脚本的用户传递。