在我的网站上,我正在尝试编写一项功能,以便用户可以选择从其他用户那里获取“更新”。当用户单击“接收更新”时,它将把该用户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_id
或member_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/