Visual Studio Code中PHP连接数据库服务器失败求助
PHP数据库连接问题解决方案
一、PDO「could not find driver」错误解决
这个错误说明你的PHP环境未启用PDO MySQL扩展,按以下步骤修复:
- 找到PHP配置文件
php.ini:可以在Web目录新建info.php,写入<?php phpinfo(); ?>,访问后查看Loaded Configuration File行获取路径 - 打开
php.ini,找到;extension=pdo_mysql这一行,删除前面的分号; - 重启Web服务(Apache、Nginx或PHP内置服务器)
二、mysqli连接失败导致页面中断的修复
你的mysqli代码存在两个关键问题:
- 数据库名称参数错误:你把
$dbname设为localhost,这是数据库服务器地址,而非要连接的数据库名。若目标数据库尚未创建,应先不传递$dbname参数,先连接服务器再创建数据库。 - 连接错误未正确捕获:
new mysqli()连接失败时会直接终止脚本,导致后续HTML无法输出,必须显式检查连接状态。
修改后的可用代码:
<?php $hostname = "localhost"; $username = "root"; $password = ""; // 先连接数据库服务器,不指定具体数据库 $mysqli = new mysqli($hostname, $username, $password); // 检查连接是否成功 if ($mysqli->connect_error) { die("数据库连接失败: " . $mysqli->connect_error); } echo "hello1<br>"; // 可选:创建目标数据库(如果不存在) $createDbSql = "CREATE DATABASE IF NOT EXISTS myDB"; if ($mysqli->query($createDbSql) === TRUE) { echo "数据库创建成功<br>"; } else { echo "创建数据库失败: " . $mysqli->error . "<br>"; } // 连接到目标数据库 $mysqli->select_db("myDB"); echo "hello2<br>"; echo "连接成功"; $mysqli->close(); ?>
三、通用排查要点
- 执行
phpinfo(),确认pdo_mysql和mysqli扩展均已启用(搜索对应关键词查看模块信息) - 确认MySQL服务正在运行:Windows查看系统服务列表,Linux执行
systemctl status mysql命令 - 用命令行测试MySQL连接:输入
mysql -u root -p,能正常进入则说明账号密码与服务状态正常
内容的提问来源于stack exchange,提问作者Marjolijn
相关产品推荐
相关产品推荐

