在我的网站上,我正在尝试编写一项功能,以便用户可以选择从其他用户那里获取“更新”。当用户单击“接收更新”时,它将把该用户ID以及他们希望从中接收更新的其他用户抛到数据库中。例如(4,5,6,7,8)。我的桌子看起来像这样

members | updates
-----------------
     id | id
updates | member_id
        | content
        | content_date


当我查询数据库时,我想从更新表中仅提取来自members:updates中已指定用户的更新。

$sql_updates = mysql_query("SELECT *
                              FROM updates a,
                                   members b
                             WHERE a.member_id IN b.updates
                          ORDER BY a.content_date DESC
                             LIMIT 10");

while($row = mysql_fetch_array($sql_updates)) {


这是最好的方法吗?

最佳答案

首先,正确拼写您的列名-mem_idmember_id,它将是什么?其次,这只是一个简单的内部联接:

SELECT members.id AS mem_id, updates, content, content_date
FROM members JOIN updates ON(members.id = updates.member_id)
ORDER BY content_date DESC
LIMIT 10;

关于php - 使用WHERE IN子句使用MySQL查询时出现问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6658635/

10-11 01:34