📅  最后修改于: 2023-12-03 15:19:46.919000             🧑  作者: Mango
在使用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中,您可以使用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中执行查询和遍历结果的示例显示了如何实现此目标。