2010-07-15 44 views
0

如何查詢我的數據庫以檢查user_idfriend_id是否等於登錄用戶ID,並且他們的friendship_status已被接受。MySQL - 如何檢查user_id或friend_id是否等於登錄的用戶ID?

這是我到目前爲止獲得的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, 
); 

回答

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' 
+0

這不起作用:( – favor 2010-07-15 10:37:59

+1

我們只能給準確的答案准確的問題 – 2010-07-15 10:51:01

+0

對不起,沒有必要得到texty我認爲我的答案是清楚的,所以我說得更清楚:) – favor 2010-07-15 10:52:43

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。如果沒有找到,那麼返回的值將爲空,這可以很容易地檢查(在MySQL中可能類似ISNULL(value_to_be_checked))。

在查詢中使用它之前,您必須正確清理登錄的用戶標識。