PHP连接MySQL推荐用PDO(更安全、支持多种数据库),需确保mysqli或PDO扩展已启用,正确配置主机名、用户名、密码和数据库名,并设置charset=utf8mb4及异常错误模式。

PHP 连接 MySQL 主要靠 mysqli 或 PDO 扩展,推荐用 PDO(更安全、支持多种数据库),但 mysqli 也常用且简单。关键是确保扩展已启用、数据库信息正确、连接代码写对。
确认 PHP 环境支持 MySQL 扩展
打开 phpinfo() 页面(新建 info.php,内容为 ),搜索 mysqli 或 PDO MySQL,确认状态为 enabled。若没看到:
- Windows:检查 php.ini 中是否取消了
extension=mysqli和extension=pdo_mysql前的分号 - Linux(如 Ubuntu):运行
sudo apt install php-mysql,再重启 Web 服务(如sudo systemctl restart apache2)
准备数据库连接信息
你需要四个基本参数:
-
主机名(host):通常是
localhost或127.0.0.1;远程数据库填实际 IP 或域名 -
用户名(username):MySQL 用户名,如
root(开发可用,生产环境建议专用低权限账号) - 密码(password):对应用户的密码
-
数据库名(dbname):已创建好的数据库名称,例如
myapp_db
注意:不要把密码硬编码在公开文件中,上线前应移入配置文件或环境变量。
立即学习“PHP免费学习笔记(深入)”;
用 PDO 方式连接(推荐)
这是更现代、支持预处理防 SQL 注入的方式:
try {
$pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8mb4", $username, $password, [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
]);
echo "✅ 连接成功";
} catch (PDOException $e) {
die("❌ 连接失败:" . $e->getMessage());
}
?>关键点:
-
charset=utf8mb4支持 emoji 和完整 UTF-8 字符 -
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION让错误抛出异常,便于调试 - 连接成功后,可用
$pdo->query("SELECT * FROM users")执行查询
用 mysqli 方式连接(面向对象风格)
适合习惯传统写法或老项目迁移:
$mysqli = new mysqli($host, $username, $password, $dbname);if ($mysqli->connect_error) { die("❌ 连接失败:" . $mysqli->connect_error); }
$mysqli->set_charset("utf8mb4"); echo "✅ 连接成功"; ?>
后续查询示例:
$result = $mysqli->query("SELECT id, name FROM users");while ($row = $result->fetch_assoc()) { echo $row['name']; }
不复杂但容易忽略细节:扩展启用、字符集设置、错误处理、密码安全。连上之后,记得及时关闭连接(PDO 自动释放,mysqli 可调 $mysqli->close())。











