gpt4 book ai didi

php - SQL ERROR 当我加入 2 个表时

转载 作者:太空宇宙 更新时间:2023-11-03 11:12:36 24 4
gpt4 key购买 nike

抱歉让我修改一下。我有一个三张表:

大事记
• 事件ID
• 年号
• 编号

日期
• 年号
• 年份

事件
• 事件ID
• 事件名称
• 事件类型

我想从三个表中显示一条记录,如下所示:

事件名称 - 年份:马拉松 - 2008

我将它链接到一个名为“成员”的表,该表包含一个 ID 号字段 (members-id)

所以我可以将结果限制为成员 id = $un(这是 session 中的用户名)

我需要连接三张表并将结果限定为特定身份证号记录

这是我的部分代码:

$query =    "SELECT * FROM members JOIN events_year ON members.id = events_year.id ";
"SELECT * FROM Event JOIN events_year ON Event.EventID = events_year.EventID WHERE username = '$un'";
"SELECT * FROM Date JOIN events_year ON Date.YearID = events_year.YearID WHERE username = '$un'";


$results = mysql_query($query)
or die(mysql_error());

while ($row = mysql_fetch_array($results)) {
echo $row['Year'];
echo " - ";
echo $row['Event'];
echo "<br>";
}

最佳答案

这些通知几乎是不言自明的。结果集中没有 'Year''EventName' 字段。很难(或:不可能)说出为什么会发生这种情况,因为您没有给出表结构,但我猜是这样的:'Year'date 的一个字段>-table,'EventName'event-table 的一个字段 - 您只从 members 中进行选择,因此该字段不会发生。

我不明白为什么有三个 sql 语句,但只有一个被分配给一个变量——另外两个只是站在那里什么都不做。请解释这一点,并在您的问题中提供更多信息,了解您要实现的目标、您的表结构是什么样的以及您的预期结果是什么。

我想你真正想做的是某种连接查询,所以请看一下 the documentation看看这是如何工作的。

最后,我认为您的查询应该如下所示:

SELECT
*
FROM
members
INNER JOIN
events_year ON members.id = events_year.id
INNER JOIN
Event ON Event.EventID = events_year.EventID
INNER JOIN
´Date´ ON ´Date´.YearID = events_year.YearID
WHERE
members.username = '$un'

关于php - SQL ERROR 当我加入 2 个表时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7528631/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com