PHP 从 SQL 数据库中提取数据的全面指南186


在 PHP Web 应用程序开发中,从 SQL 数据库中提取数据是至关重要的任务。通过访问和处理数据库中的数据,应用程序可以执行各种操作,例如显示信息、处理用户操作和生成报表。

准备环境

在开始提取数据之前,需要执行以下步骤:
确保已设置 PHP 环境并已启用 MySQL 扩展。
使用 MySQL CREATE DATABASE 语句创建数据库。
使用 MySQL CREATE TABLE 语句创建数据表。
使用 MySQL INSERT INTO 语句插入数据到数据表中。

使用 mysqli 扩展连接到数据库

PHP 提供了一个名为 mysqli 的扩展,用于与 MySQL 数据库进行交互。要使用 mysqli 扩展,请执行以下步骤:
$servername = "localhost";
$username = "root";
$password = "password";
$database = "dbname";
// 创建一个 mysqli 连接
$conn = new mysqli($servername, $username, $password, $database);
// 检查连接
if ($conn->connect_error) {
die("连接失败:" . $conn->connect_error);
}

使用 mysqli 查询提取数据

现在已连接到数据库,使用 mysqli_query() 函数执行查询以提取数据。以下示例演示如何从 "users" 表中选择所有行:
// 执行查询
$result = $conn->query("SELECT * FROM users");
// 检查查询是否成功
if (!$result) {
die("查询失败:" . $conn->error);
}

处理查询结果

查询执行后,它会返回一个 mysqli_result 对象。该对象包含查询的结果集。可以使用 mysqli_fetch_array() 函数将结果集中的每一行提取到关联数组中:
// 循环遍历结果集
while($row = $result->fetch_array()) {
// 访问行中的列值
echo "ID: " . $row["id"] . "
";
echo "姓名:" . $row["name"] . "
";
}

使用 PDO 连接到数据库

PDO(PHP 数据对象)是 PHP 中另一种用于与数据库交互的方法。它提供了面向对象的接口,可用于连接到各种数据库管理系统(DBMS)。要使用 PDO 连接到 MySQL 数据库,请执行以下步骤:
$servername = "localhost";
$username = "root";
$password = "password";
$database = "dbname";
try {
// 创建一个 PDO 连接
$conn = new PDO("mysql:host=$servername;dbname=$database", $username, $password);
// 设置 PDO 错误模式
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
die("连接失败:" . $e->getMessage());
}

使用 PDO 查询提取数据

使用 PDO,可以使用 prepare() 和 execute() 方法执行查询。以下示例演示如何从 "users" 表中选择所有行:
// 准备查询
$stmt = $conn->prepare("SELECT * FROM users");
// 执行查询
$stmt->execute();
// 循环遍历结果集
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
// 访问行中的列值
echo "ID: " . $row["id"] . "
";
echo "姓名:" . $row["name"] . "
";
}

关闭连接

在处理完查询结果后,请务必关闭连接以释放资源:
// 关闭 mysqli 连接
$conn->close();
// 关闭 PDO 连接
$conn = null;


本文介绍了使用 PHP 从 SQL 数据库中提取数据的两种方法:mysqli 和 PDO。通过遵循提供的步骤和示例,您将能够有效地从数据库中访问和处理数据。通过提取数据,您可以创建交互式 Web 应用程序,为用户提供信息并执行各种操作。

2024-11-23


上一篇:使用 PHP 检查数组中是否存在键

下一篇:PHP 与数据库交互:从连接到获取数据