0

我想将 2 张桌子连接在一起,但我无法让它工作。

这些是表格:
线程: id, title
帖子: thread_id, message

$sql = mysql_query("SELECT threads.id, threads.title
                    FROM threads
                    JOIN posts ON posts.thread_id = threads.id
                    WHERE threads.id = ".intval($_GET['id']));


while ($post = mysql_fetch_assoc($sql))
{
    echo $post['title'];
    echo $post['message'];

}

它得到标题但没有消息。我有一个分配给线程。

4

4 回答 4

3

您没有选择posts.message。将您的 SQL 更改为此,它可能会起作用。

SELECT threads.id, threads.title, posts.message
FROM threads
JOIN posts ON posts.thread_id = threads.id
WHERE threads.id = $id
于 2009-07-21T20:23:40.987 回答
1

thread_id匹配的帖子$id吗?因为,如果不是,那将生成一个空的结果集。

于 2009-07-21T20:10:19.967 回答
0

你能在没有 PHP 的情况下让它在 MySQL 中工作吗?我依靠 phpMyAdmin 对查询进行故障排除。一旦我更直接地在 MySQL 中得到它,phpMyAdmin 就有了“为 PHP 导出 SQL”功能。

于 2009-07-21T20:13:42.643 回答
0

如果您想获取帖子,您可能想以另一种方式进行

SELECT threads.id, threads.title, posts.message
FROM posts
JOIN threads ON threads.id = posts.thread_id
WHERE posts.thread_id = $id
于 2009-07-21T21:10:32.840 回答