1

我正在尝试创建一个跟随机制,用户可以在其中跟随另一个。我正在做的是,如果 A 尝试关注 B,我会在下表中插入针对 B 的 A 电子邮件 ID。现在,当 A 再次尝试关注 B 时,将针对 B 检查 A id,如果发现为真,它会重定向并显示已关注但如果 A 尝试关注 A 没有关注的人,它会添加他们。

现在的问题是,第一部分工作正常,但如果我再次关注同一个人,它会再次输入到表格中。

$temp=$_GET['temp'];
echo $temp;

mysql_connect('localhost','root','');
mysql_select_db('reviewed');

$query="SELECT follow_user from follow where my_email= '".$_SESSION['email']."'";
$data=mysql_query($query);
if (!$data) { // add this check.
    die('Invalid query: ' . mysql_error()) ;
}
if(mysql_num_rows($data) > 0)
{
    while($row=mysql_fetch_array($data))
    {
        $user=$row['follow_user'];
        if($temp===$user)
        {
            header('Location:acq.php?success=1');
            $_SESSION['message'] = 'Already Following.';
        }
        else
        {
            mysql_connect('localhost','root','');
            mysql_select_db('reviewed');
            $query="INSERT INTO follow (my_email, follow_user) VALUES('".$_SESSION['email']."','".$temp."')";
            $data=mysql_query($query);
            if (!$data) { // add this check.
                die('Invalid query: ' . mysql_error()) ;
            }           
            echo "Success";
        }       
    }
}
else
{
    mysql_connect('localhost','root','');
    mysql_select_db('reviewed');
    $query="INSERT INTO follow (my_email, follow_user) VALUES('".$_SESSION['email']."','".$temp."')";
    $data=mysql_query($query);
    if (!$data) { // add this check.
        die('Invalid query: ' . mysql_error()) ;
    }           
    echo "Success"; 
}
4

1 回答 1

0

在我看来,好像您正在为 A 所关注的 B 以外的每个用户添加关注记录。我认为您可以通过在初始查询中限制为 B 和 A 来解决此问题,即

$query="SELECT follow_user from follow where my_email= '".$_SESSION['email']."' and follow_user = '".$temp"'";

然后,您可以删除 while 循环:

if(mysql_num_rows($data) > 0)
{
    header('Location:acq.php?success=1');
    $_SESSION['message'] = 'Already Following.';

}
else
{
    mysql_connect('localhost','root','');
    mysql_select_db('reviewed');
    $query="INSERT INTO follow (my_email, follow_user) VALUES('".$_SESSION['email']."','".$temp."')";
    $data=mysql_query($query);
    if (!$data) { // add this check.
        die('Invalid query: ' . mysql_error()) ;
    }           
    echo "Success"; 
}
于 2014-07-24T21:41:04.643 回答