我的脚本显示添加为朋友,甚至用户是我的朋友


my script is showing add as friend even user is my friend

我有下面的脚本添加新朋友。它在两种情况下工作正常,在一边有问题。例如,如果A向B和C发送好友请求,当B接受他的请求时,C仍然未被接受。如果C 'waiting for approval'正在工作。条件一不成立。意味着即使A是你的朋友,你仍然可以发送请求。下面是脚本:

<?php
$querToCheck    =   "SELECT * FROM friends WHERE accepted = '2' AND ((user_one = '$activeID' AND user_two = '$fid') OR (user_one = '$fid' AND user_two = '$activeID' ) )";
$resToCheck     =   mysql_query($querToCheck);
if(mysql_num_rows($resToCheck)==2)
{
    $addFriend  =   "Friends";      
}
else
{
    $querToCheck    =   "SELECT * FROM friends WHERE accepted = '1' AND ((user_one = '$activeID' AND user_two = '$fid') OR (user_one = '$fid' AND user_two = '$activeID' ) )";
    $resToCheck     =   mysql_query($querToCheck);
    if(mysql_num_rows($resToCheck)==1)
    {
        $addFriend  =   "Waiting For Approval";
    }
    else
    {
        $querToCheck    =   "SELECT * FROM friends WHERE accepted = '0' AND ((user_one = '$activeID' AND user_two = '$fid') OR (user_one = '$fid' AND user_two = '$activeID' ) )";
        $resToCheck     =   mysql_query($querToCheck);
        if(mysql_num_rows($resToCheck)==0)
        {
            $addFriend  =   '<a href="addAsFriend.php?sid='.$row['id'].'" style="color:#FFFFFF;font-size:14px;">Add As Friend</a>';
        }
    }
}
}
?>

我认为您必须检查accepted列值,而不是检查返回的行数

<?php
$addFriend = "";
$querToCheck = mysql_query("SELECT * FROM friends WHERE (user_one = '$activeID' AND user_two = '$fid') OR (user_one = '$fid' AND user_two = '$activeID' ) ");
if(mysql_num_rows($querToCheck) > 0)
{
    $row = mysql_fetch_array($querToCheck);
    $accepted = $row['accepted'];
    if($accepted == 1)
    {
        $addFriend  = "Waiting For Approval";
    } else if($accepted == 2)
    {
        $addFriend  = "Friends";  
    } 
}
else
{
    $addFriend  = '<a href="addAsFriend.php?sid='.$row['id'].'" style="color:#FFFFFF;font-size:14px;">Add As Friend</a>'; 
}
?>