MySQL - 如何检查user_id或friend_id是否等于登录用户ID?

时间:2010-07-15 10:31:57

标签: mysql

如何查询我的数据库以检查user_idfriend_id是否等于已登录的用户ID以及他们的friendship_status是否已被接受。

这是我到目前为止所获得的MySQL代码。

SELECT COUNT(id) as num 
FROM users_friends 
WHERE users_friends.user_id = '$user_id' 
AND friendship_status = '1'

这是我的MySQL表。

CREATE TABLE users_friends (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
user_id INT UNSIGNED UNSIGNED NOT NULL,
friend_id INT UNSIGNED NOT NULL,
friendship_status TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,
date_created DATETIME NOT NULL,
);

2 个答案:

答案 0 :(得分:0)

SELECT COUNT(id) as num 
FROM users_friends 
WHERE (
    user_id = '$sanitized_user_id' 
    OR friend_id = '$sanitized_user_id'
  )
  AND friendship_status = '1'

答案 1 :(得分:0)

SELECT    id
FROM      user_friends
WHERE     (user_id = '$logged_in_user_id'
          OR friend_id = '$logged_in_user_id')
          AND friendship_status = 1

如果user_id或friend_id等于登录使用ID且存在友谊,则返回的值将包含相应的id。如果找不到,那么返回的值将为null,这可以很容易地检查(在MySQL中可能有类似ISNULL(value_to_be_checked)的内容)。

在查询中使用之前,您必须正确清理登录的用户ID。