簡體   English   中英

友誼查詢-PHP和mysql

[英]Friendship Query - PHP & mysql

以下是我的查詢,該查詢返回會話用戶的朋友。

   $new_friends = $db->query("
   SELECT user.id, user.name_surname
   FROM user
   JOIN friendship ON user.id = friendship.sender_id or user.id = friendship.receiver_id
   WHERE (friendship.receiver_id =" . $_SESSION["SES_USER_ID"] . " OR friendship.sender_id =" .  $_SESSION["SES_USER_ID"] . ")                  
   AND user.id != " . $_SESSION["SES_USER_ID"] . "");
   $new_friends->setFetchMode(PDO::FETCH_ASSOC);
   $new_friends_data = $new_friends->fetchAll();

它運行良好,沒有任何問題。 現在,我想用新的屬性來改進我的網站,以便在我的網站上添加“新人”部分。 獲取的人不得與用戶的朋友和他/她自己對話。

我嘗試將以下代碼用於“您可能知道”部分。 但是它又返回了會話用戶的朋友。

  $new_friends2 = $db->query("
  SELECT user.id, user.name_surname
  FROM user
  JOIN friendship ON user.id = friendship.sender_id or user.id = friendship.receiver_id
  WHERE (friendship.receiver_id !=" . $_SESSION["SES_USER_ID"] . " OR friendship.sender_id !=" . $_SESSION["SES_USER_ID"] . ")                  
  AND user.id != " . $_SESSION["SES_USER_ID"] . "");
  $new_friends2->setFetchMode(PDO::FETCH_ASSOC);
  $new_friends_data2 = $new_friends->fetchAll();
  //look carefully I change some equations from = to !=

我該如何解決?

基本上,我想返回不是會話用戶朋友的人。

WHERE (friendship.receiver_id !=" . $_SESSION["SES_USER_ID"] . " OR friendship.sender_id !=" . $_SESSION["SES_USER_ID"] . ")

或在這里允許這些列之一將SES_USER_ID更改為AND

您的問題還不夠清楚!

但看問題,就應該更換or使用and

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM