PHP中连接MySQL的三种常用方法
在PHP中连接MySQL数据库,可以通过MySQLi扩展、PDO(PHP Data Objects) 或已淘汰的MySQL扩展来实现,其中MySQLi和PDO是目前推荐的方式,下面将详细介绍这三种方法,并重点说明其使用场景与差异。

使用MySQLi扩展连接MySQL
MySQLi(MySQL improved)是PHP中专门用于操作MySQL数据库的扩展,支持面向对象和面向过程两种编程风格,其优势在于提供了预处理语句,能有效防止SQL注入攻击,同时支持MySQL的高级功能(如多语句执行、事务处理),以下是面向对象方式的连接示例:
<?php
$servername = "localhost";
$username = "root";
$password = "password";
$dbname = "myDB";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
?>
使用PDO连接MySQL
PDO是PHP中一个轻量级、兼容多种数据库的统一接口,支持包括MySQL在内的12种以上数据库。PDO的最大优势在于数据库移植性更强,且同样提供预处理语句保障安全,连接示例:
<?php
$servername = "localhost";
$username = "root";
$password = "password";
$dbname = "myDB";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "连接成功";
} catch(PDOException $e) {
echo "连接失败: " . $e->getMessage();
}
?>
已淘汰的MySQL扩展(不推荐)
早期的PHP版本使用mysql_connect()等函数,但该扩展在PHP 5.5.0后被废弃,PHP 7.0.0中已完全移除,因其缺乏预处理支持且安全性较低,开发者应避免使用。
核心对比与选择建议
- MySQLi:适合仅需操作MySQL数据库的项目,尤其需要利用MySQL特有功能(如异步查询)时。
- PDO:适合可能切换数据库类型(如从MySQL迁移到PostgreSQL)或追求代码统一性的项目。
- 安全性:务必使用预处理语句(如MySQLi的prepare()或PDO的prepare())处理用户输入,避免SQL注入风险。
实践注意事项
- 连接参数应存储在配置文件(如
config.php)中,切勿硬编码在代码里。 - 生产环境中建议关闭错误显示,改用日志记录,防止敏感信息泄露。
- 使用完成后,通过
$conn->close()(MySQLi)或$conn = null(PDO)主动关闭连接,释放资源。
在PHP中连接MySQL,优先选择MySQLi或PDO,并根据项目需求权衡两者的特性,掌握正确的连接方法,是构建安全、高效数据库应用的基础。
未经允许不得转载! 作者:HTML前端知识网,转载或复制请以超链接形式并注明出处HTML前端知识网。
原文地址:https://www.html4.cn/18068.html发布于:2026-09-20





