XAMPP环境下PHP连接MySQL数据库(phpMyAdmin)1045权限错误求助
解决XAMPP下PDO连接MySQL的1045权限错误
核心问题定位
从你的config.inc.php配置能看到,MySQL服务用的是3307端口,但你的PDO连接代码里没指定这个端口,PHP默认会尝试连接3306端口,直接导致权限验证失败。
修复步骤
修改PDO连接代码,指定端口
在连接字符串里加上端口参数,修改后的代码如下:<?php $servername = "localhost"; $username = "root"; $password = ""; $port = 3307; // 对应config.inc.php里的端口配置 try { $conn = new PDO("mysql:host=$servername;port=$port;dbname=regis_system", $username, $password); // 设置PDO错误模式为异常 $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Connected successfully"; } catch(PDOException $e) { echo "Connection failed: " . $e->getMessage(); } ?>额外排查项(若修改端口后仍报错)
- 确认XAMPP的MySQL服务处于启动状态,在XAMPP控制面板检查MySQL模块是否显示"Running"
- 验证root用户权限:打开phpMyAdmin,进入
mysql数据库的user表,确认root@localhost或root@127.0.0.1的权限字段(如Select_priv)为Y,且Password字段为空 - 重启Apache服务:清除PHP缓存,避免旧配置残留
- 替换localhost为IP:将
$servername改为127.0.0.1,规避localhost解析问题
内容的提问来源于stack exchange,提问作者Noob Gamer
相关产品推荐
相关产品推荐

