从sql链接表,查询会产生错误。

时间:2013-01-29 21:28:22

标签: php mysql sql linked-list

我在sql中有两个表,当我在php中回显它时,我得到了一个奇怪的结果...... 期望的效果是从表格介绍和表格消息中的消息中回显出介绍 - 然后按日期组织它们。

$result = mysql_query("SELECT intro.user_id, intro.date, intro.message_id, intro.intro FROM intro WHERE user_id = {$uid}
                    UNION SELECT messages.user_id, messages.msg, messages.message_id, messages.date FROM messages
                    ORDER BY date DESC ");




while($row = mysql_fetch_array($result))
  {
  echo  "<p>".getElapsedTime($row['date'])."</p>
  <strong>></strong> <a href=\"outro.php?msg_id=".$row['intro.message_id'].
  "\">".$row['intro'] . "</a><br>";
  }


Intro table

enter image description here

Messages table

enter image description here

enter image description here

但是我得到了如上所示的这个奇怪的结果。刚回显的日期的顶部部分来自表messages。我不知道为什么会这样,也不知道如何解决它。

1 个答案:

答案 0 :(得分:2)

你的UNION搞砸了。尝试:

SELECT intro.user_id, intro.date, intro.message_id, intro.intro
FROM intro WHERE user_id = {$uid}
UNION
SELECT messages.user_id, messages.date, messages.message_id, messages.msg
FROM messages
ORDER BY date DESC