PHP MySQL 怎样以关联数组形式返回查询结果

2025-01-14 23:14:52   小编

在 PHP 开发中,与 MySQL 数据库交互时,以关联数组形式返回查询结果是一个常见需求。这种返回形式能让开发者更方便地通过字段名来访问查询到的数据,提高代码的可读性和可维护性。

要建立与 MySQL 数据库的连接。可以使用 mysqli 或 PDO 扩展来完成这一操作。以 mysqli 为例:

$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接
if ($conn->connect_error) {
    die("连接失败: ". $conn->connect_error);
}

连接建立好后,就可以执行 SQL 查询语句了。例如,要从名为 users 的表中查询所有记录:

$sql = "SELECT * FROM users";
$result = $conn->query($sql);

接下来,关键的一步是将查询结果以关联数组形式返回。使用 fetch_assoc() 方法可以实现:

if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        echo "姓名: ". $row["name"]. " - 邮箱: ". $row["email"]. "<br>";
    }
} else {
    echo "没有找到记录";
}

fetch_assoc() 方法会从结果集中取得一行作为关联数组,数组的键就是查询结果中的字段名。这样,我们就能轻松地通过字段名来访问对应的值。

如果使用 PDO 扩展,实现方式略有不同。建立连接:

try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
    echo "连接失败: ". $e->getMessage();
}

执行查询并以关联数组形式返回结果:

$sql = "SELECT * FROM users";
$stmt = $conn->prepare($sql);
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);

foreach ($result as $row) {
    echo "姓名: ". $row["name"]. " - 邮箱: ". $row["email"]. "<br>";
}

fetchAll(PDO::FETCH_ASSOC) 方法会将整个结果集作为关联数组返回。

通过上述方法,无论是使用 mysqli 还是 PDO 扩展,都能轻松地以关联数组形式返回 MySQL 查询结果,为 PHP 开发中的数据处理提供便利。

TAGS: 查询结果 关联数组 PHP MySQL 返回形式

欢迎使用万千站长工具!

Welcome to www.zzTool.com