【发布时间】:2015-05-24 03:45:31
【问题描述】:
我想合并来自两个 MySQL 表的数据并使用 PHP 回显结果。第一个表称为 TEST1,有两个字段(名称、信息 1)。第二个表称为 TEST2,也有两个字段(姓氏、信息 2)。我想选择姓名和姓氏,其中 info1 = info2 并使用 PHP 在同一行中打印姓名和姓氏。到目前为止我编写的代码是这样的,但我认为这对于我希望它完成的两个任务都不是完全正确的。
$sql = "SELECT name, surname FROM TEST1, TEST2 WHERE info1 = info2";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo " - Name: " . $row["name"]. " - Surname: " . $row["surname"]. "<br>";
}
} else {
echo "0 results";
}
$conn->close();
?>
例如,假设 TEST1 的名字为 info1 [(John,112233),(Luke,112244), (Ariana,112255)],TEST2 的姓氏为 info2 [(Lala,112255), (Zara ,112233), (Azon,112267), (Esora,112248)]。所以我希望它在我访问网页时显示:
Name: John - Surname: Zara
Name: Ariana - Surname: Lala
或
Name: Ariana - Surname: Lala
Name: John - Surname: Zara
姓名、姓氏、info1、info2 是VARCHAR(64)。似乎有类似的问题,但它们并不容易理解,特别是对于那些无法理解更高级脚本的 PHP 和 MySQL 初学者来说,因为它们是针对提问者的问题的。所以我试着做一般性的事情,以帮助更多的人,而不仅仅是我。请你帮助我好吗?提前致谢。
【问题讨论】:
-
最好将Id字段添加到一个表中作为主键并添加到第二个表中作为外键。假设 Name 和 Surname 始终属于一个人,并且出于某种原因将它们分成两个不同的表。 @Vaggelis
标签: php mysql select relational-database echo