📌  相关文章
📜  recuperer des informations d'une table parent en sql - PHP (1)

📅  最后修改于: 2023-12-03 15:19:46.919000             🧑  作者: Mango

从SQL中检索父表信息

在使用SQL和PHP时,经常需要从一个表中检索信息,并使用另一个表作为参考。这时候,可能需要从父表中获取信息并将其与子表关联起来,以便您可以以有意义的方式呈现数据。

连接表

在SQL中,可以使用JOIN语句将多个表连接起来。具体来说,使用INNER JOIN将父表和子表连接起来,并使用ON子句指定关系。

SELECT child_table.column1, child_table.column2, parent_table.column1
FROM child_table
INNER JOIN parent_table
ON child_table.parent_id = parent_table.id;

这里,我们使用子表的列作为选择,同时还添加了父表的列,以便您可以访问所有必要的信息。

在PHP中执行查询

在PHP中,您可以使用PDO扩展来连接到数据库并执行查询。以下是一个将查询结果作为关联数组返回的示例:

try {
    $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
    $stmt = $dbh->prepare("
        SELECT child_table.column1, child_table.column2, parent_table.column1
        FROM child_table
        INNER JOIN parent_table
        ON child_table.parent_id = parent_table.id;"
    );
    $stmt->execute();
    $result = $stmt->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
    echo "Error: " . $e->getMessage();
}

这里,我们连接到名为'test'的数据库,并执行上述SELECT查询。然后,我们使用fetchAll()方法将结果存储在$result数组中。

遍历结果

一旦我们有了一个结果集,我们可以按以下方式对其进行遍历:

foreach ($result as $row) {
    echo $row['column1'] . " - " . $row['column2'] . " - " . $row['column1'] . "<br>";
}

这会将结果中每行的column1、column2和column3列打印出来。

结论

在使用SQL和PHP时,检索父表信息很常见。使用JOIN语句将表连接起来,然后在PHP中执行查询和遍历结果的示例显示了如何实现此目标。