我试图阻止成员将自己添加为好友,但是我似乎不能让它工作,我的MySQL查询中的最后一行代码AND '$user_id' <> '$friend_id'
正在尝试检查用户id是否与朋友id相同,如果是,则停止运行查询,但由于某些原因,代码仍将运行。
我如何解决这个问题,当用户尝试将自己添加为好友时,查询停止运行?
下面是MySQL查询。
SELECT *
FROM friends
WHERE user_id = '$user_id'
AND friend_id = '$friend_id'
AND '$user_id' <> '$friend_id'
这是MySQL表。
CREATE TABLE friends (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
user_id INT UNSIGNED NOT NULL,
friend_id INT UNSIGNED NOT NULL,
PRIMARY KEY (id),
);
发布于 2010-06-27 13:43:01
为什么你不能像这样简单地做这件事..
当然,您会有一个提交userID和friendID的表单。例如,表单提交的值为..
$user_id;
$friend_id;
那么,为什么你不能比较
if($user_id == $friend_id) {
//user has selected himself as friend
}
else {
// different user has been selected as friend
}
如果我是对的,在表单中你也可以通过不显示自己的ID来限制选择作为朋友。
有什么意见吗?
发布于 2010-06-27 13:36:16
"SELECT *
FROM friends
WHERE user_id =" . '$user_id' .
" AND friend_id = " . '$friend_id' .
" AND user_id <> friend_id";
应该可以工作(假设您使用的是PHP)。
发布于 2010-06-27 13:47:41
您希望使用select查询存档哪些内容?
目前,你似乎想要显示一个用户的所有好友。如果是这样的话,那么你就应该阻止用户更早地将自己添加为好友。在执行insert语句时,检查它是否是合法的朋友。
这样,您的数据库中就不会有坏数据,并且节省了数据库资源,因为数据库不必在您每次显示好友时都进行检查。
https://stackoverflow.com/questions/3127476
复制