PHP连接数据库查询教程(优化版)

在Web开发中,连接数据库并进行数据查询是一项非常基础且重要的任务。PHP作为广泛使用的服务器端语言,提供了多种方式连接数据库并执行SQL查询。本教程将详细介绍如何使用PHP连接MySQL数据库,并通过示例一步步演示如何进行数据查询。


一、连接数据库

要对数据库进行操作,首先必须建立数据库连接。PHP提供了两种主流方式连接MySQL数据库:

  • mysqli扩展(面向对象和过程化均支持)
  • PDO(PHP Data Objects)扩展

本教程重点介绍mysqli面向对象方式来连接数据库。

连接数据库示例代码

php
1 2 3 4 5 6 7
connect_error) {
    // 如果连接失败,则输出错误信息并终止脚本执行
    die("连接失败: " . $conn->connect_error);
} else {
    echo "连接成功";
}
?>

说明

  • 通过new mysqli()方法建立连接。
  • 连接失败时通常会返回错误信息,使用$conn->connect_error检查。
  • 连接成功后可以开始执行数据库相关操作。

注意:在真实项目中,不建议直接输出数据库连接的错误给终端用户,建议写入日志以保证安全。


二、执行查询操作

连接数据库成功后,便可以使用SQL语句进行数据查询。

执行查询示例代码

php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
query($sql);

// 判断查询结果是否有数据
if ($result->num_rows > 0) {
    // 有数据,循环遍历每一行
    while($row = $result->fetch_assoc()) {
        // 输出每行数据的id, name, email字段值
        echo "ID: " . $row["id"] . " - Name: " . $row["name"] . " - Email: " . $row["email"] . "
";
    }
} else {
    echo "没有数据";
}

// 关闭数据库连接
$conn->close();
?>

说明

  • 使用$conn->query($sql)执行SQL语句,返回结果集。
  • $result->num_rows表示匹配的记录数。
  • 使用fetch_assoc()方法以关联数组的形式逐行获取数据。
  • 最后关闭数据库连接,释放资源。

三、总结及注意事项

  1. 安全性
  • 建议使用准备语句(Prepared Statements)抵御SQL注入攻击,尤其是当查询包含用户输入时。
  • 避免直接拼接SQL字符串。
  1. 错误处理
  • 对每次数据库操作,都要进行错误检测和异常处理。
  • 生产环境不要将错误信息直接展示给终端用户。
  1. 使用PDO的优势
  • PDO支持多种数据库,代码更通用。
  • 支持预处理语句,安全性更强。
  1. 关闭连接
  • 虽然PHP脚本结束后会自动关闭连接,但仍推荐在不需要继续操作时手动关闭。

通过以上步骤,您可以轻松实现PHP连接MySQL数据库并完成简单查询。理解每一步的原理,有助于您在实际开发中灵活运用数据库操作,构建更加稳定和高效的Web应用!

如果您想进一步提升,可以尝试学习PDO连接及预处理语句的写法,增强代码的安全性和可维护性。祝您编程愉快!