数据库表:
Table Name: friends
user_id | friend_id | accepted | key_id
--------------------------------------------------
123 | 234 | 2 | 1
123 | 456 | 2 | 2
123 | 789 | 1 | 3
222 | 123 | 2 | 4
498 | 123 | 2 | 5
初始查询(获得确认的朋友)
$user_id=123;
$query="SELECT * FROM friends WHERE
(user_id='$user_id' OR friend_id='$user_id')
AND accepted='2'";
$result=mysqli_query($dbc, $query);
while($row=mysqli_fetch_array($result))
{
if($row['user_id']==$user_id)
{
$friend[]=$row['friend_id'];
}
if($row['friend_id']==$user_id)
{
$friend[]=$row['user_id'];
}
}
print_r($friend);
我想要做的是将friend
匹配的id设置到数组中,其中user_id等于$user_id
或friend_id等于$user_id
并且接受的值为2。目前上面没有返回任何东西,我不确定我是否正在正确格式化/创建数组。
在这种情况下,获得正确结果的最佳方法是什么。我还需要格式化数组,以便它可以包含在另一个 MYSQL 语句中,使用IN()
条件从另一个表中进行选择。