您好我有两个表(用户和朋友)我需要连接到朋友表以便为所有朋友提供用户ID,然后使用朋友ID连接到用户表并为该用户提供信息。我有下面的代码,但这只带来一个用户。
需要在线计算用户数量。
function online_friends()
{
$ID = ($_SESSION['ID']);
$friend = "SELECT * FROM `friends` WHERE `user_id` = '$ID' AND `accepted` = 'TRUE'";
$result=mysql_query($friend);
while ($row = mysql_fetch_assoc($result))
{
$friend_id = $row['friend_id'];
$get = "SELECT * FROM `users` WHERE `ID` = '$friend_id' AND `online` = 'TRUE'";
$result_friend=mysql_query($get);
$count_friends=mysql_num_rows($result_friend);
}
return $count_friends;
}
由于 编辑:我通过运行phpmyadmin手动检查了这些,它带来了两行或更多行。
答案 0 :(得分:1)
首先,您应该使用准备好的查询,而不是手动构建查询字符串。
其次,您想要的查询如下:
Select count(*) from `friends` join `users` on `user_id`=`users`.`id` where `users`.`id`=? and `accepted`=`TRUE` and `online`='TRUE'