PHP如何连接MySQL数据库:从基础操作到实战技巧

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

php如何连接mysql数据库,PHP高效连接MySQL数据库

使用mysqli扩展连接MySQL

mysqli是MySQL官方推荐的扩展,同时支持MySQL和MariaDB数据库,以下是两种常见连接方式:

  1. 面向对象方式
    通过创建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 "连接成功";
    ?>
  2. 面向过程方式
    适合习惯传统编程风格的开发者:

    <?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