编写一个php来输出用户ID为2的朋友的查询结果

时间:2012-07-21 14:28:52

标签: php mysql

我有两个列表朋友表,其中有一个用户的重新编码,其中每个用户都是朋友。我想获得一个列表,其中有特定用户的朋友。要做到这一点,我写了一个SQL查询,并得到了结果..

SELECT * 
FROM  `friends` 
WHERE  `user_idf` =  '2'
OR  `user_idff` =  '2'

++ user_idf ++++   user_idff+++
    2   +   1
    3   +   2   
    4   +   2
    2   +   5
+++++++++++++++++++++++++++

如何编写一个php函数来回应那个2的朋友的用户(我将替换一个POST,它从应用程序中获取用户id) 即 1,3,4,5

1 个答案:

答案 0 :(得分:1)

你是说这样的意思吗?

(SELECT `user_idf` FROM `user` WHERE `user_idff` = 2) UNION (SELECT `user_idff` FROM `user` WHERE `user_idf` = 2)

说实话,我对sql并不好,但我认为union正是你所寻找的(我认为我的语法是正确的,虽然我不是100%)。

根据我的理解, 应该使用与用户2成为朋友的任何人的用户ID并输出它。当用户2位于user_idfuser_idff列时,会返回结果的并集。

编辑:实际上我仍然支持我的答案,如果你不这样做,那么你需要有一个更复杂的PHP函数。

对于PHP本身,请将mysqli和PDO视为准备语句的两个主要选项。