如何显示已确认的好友


How to display the confirmed friends

我有一个名为user_join:的表

| join_to_id | join_by_id | approved |

join_to_id表示向哪个用户发送请求

join_by_id表示谁在发送请求

approved表示是否接受请求,如果接受值为"是",则表示为"否"

现在,我想显示那些由当前id用户批准或批准当前id用户的用户的名称。

这是我的代码:

$query = "SELECT * FROM user_join where (join_to_id = '".$_GET['id']."' and approved = 'Yes' and join_by_id != '".$_GET['id']."' ) 
          or (join_by_id = '".$_GET['id']."' and approved = 'Yes' and join_to_id != '".$_GET['id']."') ORDER BY id DESC";

你想的太复杂了。这应该做到:

 SELECT * 
 FROM user_join 
 WHERE '".$_GET['id']."' IN (join_to_id, join_by_id) 
 AND approved='Yes'

用户不会成为自己的好友。

附带说明:您应该使用准备好的语句,或者至少转义$_GET的输入,以防止SQL注入