我正在尝试创建一个跟随机制,用户可以在其中跟随另一个。我正在做的是如果A试图跟随B,我在下表中插入了一个针对B的电子邮件ID。现在,当A再次尝试跟随B时,将针对B检查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";
}
答案 0 :(得分:0)
在我看来,好像你要为A所遵循的B以外的每个用户添加一条跟踪记录。我想你可以通过在初始查询中限制为B和A来解决这个问题,即
$ query =“SELECT follow_user from follow where my_email ='”。$ _ SESSION ['email']。“'和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";
}