PHP如何连接MySQL数据库:从基础操作到实战技巧
PHP连接MySQL数据库的核心方法是使用mysqli扩展或PDO(PHP Data Objects),这两种方式均支持面向对象和面向过程的编程风格,能够高效安全地实现数据库交互。

使用mysqli扩展连接MySQL
mysqli是MySQL官方推荐的扩展,同时支持MySQL和MariaDB数据库,以下是两种常见连接方式:
-
面向对象方式
通过创建mysqli类的实例实现连接,代码结构清晰,易于维护:<?php $servername = "localhost"; $username = "root"; $password = "your_password"; $dbname = "test_db"; // 创建连接 $conn = new mysqli($servername, $username, $password, $dbname); // 检测连接 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } echo "连接成功"; ?> -
面向过程方式
适合习惯传统编程风格的开发者:<?php $conn = mysqli_connect("localhost", "root", "your_password", "test_db"); if (!$conn) { die("连接失败: " . mysqli_connect_error()); } echo "连接成功"; ?>
使用PDO连接MySQL
PDO提供统一的数据库访问接口,支持多种数据库系统(如MySQL、PostgreSQL等),迁移性更强:
<?php
try {
$conn = new PDO("mysql:host=localhost;dbname=test_db", "root", "your_password");
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "连接成功";
} catch(PDOException $e) {
echo "连接失败: " . $e->getMessage();
}
?>
关键注意事项与最佳实践
- 安全性优先:务必使用预处理语句(Prepared Statements) 防止SQL注入攻击,mysqli和PDO均支持此功能。
- 错误处理:生产环境中应关闭错误直接显示,改用日志记录,避免敏感信息泄露。
- 连接管理:使用完成后通过
$conn->close()(mysqli)或$conn = null(PDO)关闭连接,释放资源。 - 字符集设置:建议在连接后立即执行
SET NAMES 'utf8mb4',确保数据存储和显示的编码一致性。
实战应用示例
以下是一个使用mysqli预处理语句插入数据的完整示例:
<?php
$conn = new mysqli("localhost", "root", "password", "test_db");
$stmt = $conn->prepare("INSERT INTO users (name, email) VALUES (?, ?)");
$stmt->bind_param("ss", $name, $email); // "ss"表示两个字符串类型参数
$name = "张三";
$email = "zhangsan@example.com";
$stmt->execute();
echo "数据插入成功";
$stmt->close();
$conn->close();
?>
选择mysqli还是PDO取决于项目需求:若仅操作MySQL且需使用高级特性(如多语句执行),mysqli更合适;若需兼容多种数据库或追求灵活架构,PDO是理想选择,无论哪种方式,都应遵循安全编码规范,并合理管理数据库连接生命周期。
通过掌握这些核心方法,开发者能够高效构建与MySQL数据库交互的PHP应用,为Web开发奠定坚实基础。
未经允许不得转载! 作者:HTML前端知识网,转载或复制请以超链接形式并注明出处HTML前端知识网。
原文地址:https://www.html4.cn/5541.html发布于:2026-07-19





