duannaikuang1301 2015-11-16 07:32
浏览 12

如何显示确认的朋友

I have a table named user_join:

| join_to_id | join_by_id | approved |

join_to_id means to whom user sending the request

join_by_id means who is sending request

approved means request accepted or not, if accepted value will be 'Yes' else value will be 'No'

Now I want to display the names of those users who APPROVED BY current id user or who APPROVED CURRENT id user.

Here is my code :

$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";
  • 写回答

1条回答 默认 最新

  • duanhu7390 2015-11-16 08:20
    关注

    You are thinking much too complicated. This should do it:

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

    A user is not going to friend himself.

    Side note: You should use prepared statements or at least escape the input from $_GET to prevent SQL injections.

    评论

报告相同问题?

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?