友谊查询-PHP&;mysql

友谊查询-PHP&;mysql,php,mysql,Php,Mysql,下面是我返回会话用户朋友的查询 $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"] .

下面是我返回会话用户朋友的查询

  $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"] . ")
$new\u friends=$db->query(“
选择user.id、user.name\u姓氏
来自用户
在user.id=friendy.sender\u id或user.id=friendy.receiver\u id上加入友谊
其中(Friendly.receiver_id=“.$”会话[“SES_用户_id”]”或Friendly.sender_id=“.$”会话[“SES_用户_id”]”)
和user.id!=“$”会话[“SES\u user\u id”]。”;
$new_friends->setFetchMode(PDO::FETCH_ASSOC);
$new\u friends\u data=$new\u 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"] . ")
我怎样才能修好它

基本上我想返回那些不是会话用户朋友的人

  $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更改为,并且

您的问题不够清楚


但是看看这个问题,你应该用
替换

@Mihaiıthink在我的代码中ses id并不重要,因为基本上我想返回那些不是会话用户朋友的人。你应该在第二部分的WHERE子句中使用,而不是OR。我将“或”改为“到”和“仍然返回朋友。你能发布一些示例数据吗?1和2查询之间的区别是什么?