当我尝试在localhost上运行我的PHP代码时,出现以下错误:
致命错误:未捕获的PDO异常:SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost'(using password:NO)in C:\xampp\htdocs\Final Project CSE-391\project\soft.php:2
堆栈跟踪:
#0 C:\xampp\htdocs\Final Project CSE-391\project\pages.php(2):PDO->__construct('mysql:host=loca...','root','')
#1 C:\xampp\htdocs\Final Project CSE-391\project\index.php(2):include('C:\xampp\htdocs...')
#2 {main}在C:\xampp\htdocs\Final Project CSE-391\project\js.php第2行抛出
我需要解决这个问题的建议。
4条答案
按热度按时间sauutmhj1#
这是一个错误的凭据问题。在将其放入连接配置之前,请检查您在浏览器上用于登录
PHPMyAdmin
的值,以确保其正确。您可能输入了错误的密码或在设置密码后将密码保留为空。
ru9i0ody2#
解决方案
我通过指向SQL端口**
$host = 'localhost:3307'
**而不是$host='localhost'
修复了这个问题。示例
字符串
hi3rlvi23#
如果phpMyAdmin端口不是默认端口,那么在主机上,不仅要包含localhost,还要指定端口,例如localhost:3311。
的数据
例如
字符串
bxgwgixi4#
如果你使用密码生成器来创建你的密码,就像我有时做的那样,你可能会得到这样的密码:
LJdKE$7swNZ00En2iLwFS3NSvq#
当你使用PhpMyAdmin时,它会很好地工作。如果你得到一个
SQLSTATE[HY000] [1045] Access denied for user
.错误。那么你的密码中有一个PHP不喜欢的字符。在我的情况下,它是密码末尾的“#”。解决方案,更改密码。