0

有人请帮助我,我有一个阻止用户脚本。基本上一切正常。

当用户在其他用户配置文件上单击阻止时,这会回显用户 ID,并将 user_id 和其他 profile_id 插入数据库并将列“阻止”从“0”设置为“1”。

已登录的用户现在无法看到他们已阻止的其他用户,但被阻止的其他用户仍然可以看到他们的个人资料。

我的数据库的工作方式是它需要两个列中的两个集合 id,如下所示:

user_id   |   blocked_id  |  blocked

   1               2            1
   2               1            1

为了让两个用户都看不到对方并且都被阻止,我需要尝试插入两个 id 几乎两次。

这有点像复制插入到表中的值以两次创建相同的结果,但在表列中只是相反。

所以目前我有:

$sql = mysql_query("INSERT INTO ptb_block_user (user_id, blocked_id) VALUES (".$_SESSION['user_id'].", ".$user_to_id.")");

我需要将这些值插入两次,但方向相反,所以它看起来像上表。

我希望我让自己清楚,有人知道我该怎么做吗?

谢谢。

<?php

session_start();

    confirm_logged_in();

    if (isset ($_GET['to'])) {
    $user_to_id = $_GET['to'];


}


if (!isset($_GET['to']))
    exit('No user specified.');

$user_id = $_GET['to'];




$sql = mysql_query("INSERT INTO ptb_block_user (user_id, blocked_id) VALUES (".$_SESSION['user_id'].", ".$user_to_id.")");


$result1 = mysql_query("UPDATE ptb_block_user SET blocked='1' WHERE user_id=".$_SESSION['user_id']."") 
or die(mysql_error());





if($result1) 
{ 
$_SESSION['message2']="<div class=\"infobox-profile\"><strong>User Blocked</strong> - This user has successfully been blocked. You will no longer be abler to interact with each other's profiles.</div><div class=\"infobox-close\"></div>"; 
header("Location: {$_SERVER['HTTP_REFERER']}");
} 
else 
if($result2) 
{ 
$_SESSION['message2']="<div class=\"infobox-favourites\"><strong>User Unblocked</strong> - This user has successfully been unblocked. You can now interact with each other's profiles.</div><div class=\"infobox-close4\"></div>"; 
header("Location: {$_SERVER['HTTP_REFERER']}");

}
?>
4

2 回答 2

0

您的问题对我来说并不完全清楚,但您似乎在问如何使用相同的查询插入两个值。 VALUES可以采用多个元组:

INSERT INTO ptb_block_user (user_id, blocked_id, blocked) VALUES
    (".$_SESSION['user_id'].", ".$user_to_id.", 1),
    (".$user_to_id.", ".$_SESSION['user_id'].", 1)

您的代码很容易受到 mysql 注入的影响,您不应使用ext/mysql

http://www.php.net/manual/en/faq.databases.php#faq.databases.mysql.deprecated

于 2013-02-01T00:53:51.303 回答
0
INSERT INTO ptb_block_user
(user_id, blocked_id) 
VALUES 
(".$_SESSION['user_id'].", ".$user_to_id."),
(".$user_to_id.",".$_SESSION['user_id'].")

?

于 2013-02-01T00:58:14.847 回答