【发布时间】:2014-01-07 05:41:02
【问题描述】:
我有两个表,一个“用户”表和一个“更新”表。我想从表格中获取这些值:
id, username - 来自“用户”表 消息,createdOn - 来自“更新”表
我需要为指定的用户和用户的朋友获取这些值。我已经创建了一个包含所有朋友 ID 的数组,如下所示:
array(1,3,7,21,45);
我需要一个查询来选择与前一个数组匹配的所有更新。 “updates”表还有一个“uid”列,它定义了发布更新的用户。这是我目前所拥有的:
$updates = "SELECT users.id, users.username, updates.message, updates.createdOn FROM users, updates WHERE updates.uid = '". $_COOKIE['id'] ."' ". $friendsNews ." ORDER BY updates.createdOn DESC LIMIT 0, 10";
$updates = mysql_query( $updates );
这对我不起作用,我创建了一个 foreach 循环,该循环还创建了一个 or 语句,该语句插入到查询“$friendsNews”中,如下所示:
foreach( $myFriends as $fid ) {
$friendsNews .= " OR updates.uid = '". $fid ."'";
}
一旦整个查询编译完成,查询的结果是这样的:
SELECT users.id, users.username, updates.message, updates.createdOn FROM users, updates WHERE updates.uid = '1' OR updates.uid = '2' OR updates.uid = '3' ORDER BY updates.createdOn DESC LIMIT 0, 10
如果有人可以提供帮助,我将不胜感激,但我对 SQL 连接语句不是很有经验。谢谢!
【问题讨论】:
-
$_COOKIE['id'] 持有什么?用户 ID?
-
@Nouphal.M 它只是保存了登录用户的id,一个整数