循环通过两个SQL查询php

时间:2009-06-08 10:33:12

标签: php

您好我有两个表(用户和朋友)我需要连接到朋友表以便为所有朋友提供用户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手动检查了这些,它带来了两行或更多行。

1 个答案:

答案 0 :(得分:1)

首先,您应该使用准备好的查询,而不是手动构建查询字符串。

其次,您想要的查询如下:

Select count(*) from `friends` join `users` on `user_id`=`users`.`id` where `users`.`id`=? and `accepted`=`TRUE` and `online`='TRUE'