Php 选择多个表

Php 选择多个表,php,mysql,Php,Mysql,我需要一些帮助 table "friends" +------+-------------+-----------+ id | friend_id | user_id | +------+-------------+-----------+ 1 | 1222 | 99999 | +------+-------------+-----------+ 2 | 48989 | 1492 | +------+--------

我需要一些帮助

table "friends"
+------+-------------+-----------+
   id  |  friend_id  |   user_id |
+------+-------------+-----------+
   1   |    1222     |   99999   |
+------+-------------+-----------+
   2   |   48989     |   1492    |
+------+-------------+-----------+

table "users"
+------+-------------+---------------+
   id  |  user_name  |   user_image  | 
+------+-------------+---------------+
 99999 |     Mark    | img/abc.jpg   |
+------+-------------+---------------+
 1222  |     Tom     | img/xyz.jpg   |
+------+-------------+---------------+
 etc.  |    etc.     |       etc..   |
+------+-------------+---------------+
我想选择桌上好友并在何处声明:

等等:。。。其中user\u id=$\u会话[user\u id]。。。 并将显示来自表用户的数据

好吧,假设: 我的当前id是99999,因此表中的朋友仅匹配1222,因此这将显示来自表用户的id 1222(Tom)的所有数据(图像等)

所以我这里的问题是,我需要如何编写生成用户数据的代码

*我尝试使用UNION和LEFT JOIN…但运气不好..还是新手

$user_id = intval($_SESSION['user_id']);
$friends_of_user = mysql_query('
SELECT 
   f.*, u.* 
FROM  
    friends f 
  LEFT JOIN 
      users u 
  ON 
      u.id = f.friend_id
WHERE 
      f.user_id = '.$user_id);
要排除用户表中没有配置文件的所有用户,只需将
LEFT JOIN
更改为
JOIN


要排除用户表中没有配置文件的所有用户,只需将
LEFT JOIN
更改为
JOIN

,我将使用以下代码:

$user_id = mysql_real_escape_string($_SESSION['user_id']);
$sql = "SELECT f.* 
        FROM users u
        INNER JOIN friends f ON (u.user_id = f.friend_id)
        WHERE u.user_id = '$user_id' ";

我将使用以下代码:

$user_id = mysql_real_escape_string($_SESSION['user_id']);
$sql = "SELECT f.* 
        FROM users u
        INNER JOIN friends f ON (u.user_id = f.friend_id)
        WHERE u.user_id = '$user_id' ";

@ruslyrossi,如果你想消除没有朋友的用户,请使用内部连接。@Johan:可能不正确。在这种情况下,左连接意味着所有没有配置文件的朋友都将显示为空。嗯,你需要做
从用户中选择任何你的内部连接朋友f on….
在我的脑海中,这就是你所做的。@genesis:所以现在如果我遵循你的代码,我可以列出来自表用户的数据,如果我的当前id是macth,表friends中有friend_id?@ruslyrossi:此查询将选择所有朋友及其好友profiles@ruslyrossi,如果要消除没有朋友的用户,请使用内部联接。@Johan:可能不正确。在这种情况下,左连接意味着所有没有配置文件的朋友都将显示为空。嗯,你需要做
从用户中选择任何你的内部连接朋友f on….
在我的脑海中,这就是你所做的。@genesis:所以现在如果我遵循你的代码,我可以列出来自表用户的数据,如果我的当前id是macth,表friends中有friend_id?@ruslyrossi:此查询将选择所有朋友及其个人资料