PHP 连接 MySQL 通常使用 MySQLi 或 PDO 扩展,而不是已废弃的
php_mysql(在 PHP 5.5 中弃用,PHP 7.0 中移除)。以下介绍如何配置并使用现代方式连接 MySQL 数据库。
1. 确保 PHP 环境支持 MySQL 扩展
确认你的 PHP 安装启用了必要的扩展:
MySQLi:extension=mysqli PDO_MySQL:extension=pdo_mysql可在
php.ini文件中检查并取消注释以下行:
extension=mysqli extension=pdo_mysql
重启 Web 服务器(如 Apache 或 Nginx)使配置生效。
立即学习“PHP免费学习笔记(深入)”;
2. 使用 MySQLi 面向过程方式连接
适用于简单项目或初学者:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test_db";
// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);
// 检查连接
if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}
echo "MySQLi 连接成功";
?>
3. 使用 MySQLi 面向对象方式连接
更推荐的方式,结构清晰:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test_db";
// 创建连接对象
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "MySQLi OOP 连接成功";
?>
4. 使用 PDO 连接(推荐用于新项目)
PDO 支持多种数据库,安全性高,便于预处理语句:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test_db";
try {
$pdo = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// 设置 PDO 错误模式为异常
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "PDO 连接成功";
} catch(PDOException $e) {
die("连接失败: " . $e->getMessage());
}
?>
5. 常见问题与建议
遇到连接失败时,检查以下几点:
MySQL 服务是否正在运行 用户名和密码是否正确 数据库主机地址是否准确(远程连接需授权) 防火墙或 SELinux 是否阻止了端口(默认 3306)建议使用环境变量或配置文件存储数据库凭证,避免硬编码。
基本上就这些。选择 MySQLi 或 PDO 都可以,PDO 更灵活,适合未来扩展。
