You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

本地XAMPP环境PHP连接数据库报1045错误的代码问题查询

问题原因及解决方案

1 代码语法错误

代码中最直接的错误是PDO连接的DSN参数配置笔误:
你已经定义了$dbname = "ecocaa"作为目标数据库名,但构造DSN时错误将dbname的取值写成了$servername,相当于尝试连接名为localhost的数据库而非预期的ecocaa,这是触发报错的核心原因之一。
将对应行修改即可:
原错误行:
$conn = new PDO("mysql:host=$servername;dbname=$servername", $username, $password);
修改后:
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);

2 数据库权限排查方案

如果修改代码后仍然报1045错误,属于MySQL账号权限配置问题,按以下顺序排查即可:

  • 确认你已经在XAMPP的MySQL中手动创建了moomen用户,且对应密码确实为9124279123。XAMPP默认的MySQL管理员账号为root,默认密码为空,如果你没有创建过moomen用户,可以先替换为root账号测试连接是否正常
  • 确认moomen用户拥有ecocaa数据库的访问权限,可打开XAMPP自带的phpMyAdmin,进入权限管理页面对该账号授予对应库的操作权限
  • 确认moomen用户的允许登录主机为localhost,而非其他限定地址

修复后的完整可运行代码

<?php
$servername = "localhost";
$username = "moomen";
$password = "9124279123";
$dbname = "ecocaa";
try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Connected successfully";

} catch (PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
}
?>

内容的提问来源于stack exchange,提问作者Moomen S. Aldahdouh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 05:39:02