dsp1836 2015-06-28 17:11
浏览 32
已采纳

如何跨三个表在mysql查询中使用连接

at first my tables:

+----------+      +--------------+     
| users    |      | users_groups |     +--------------+
+----------+      +--------------+     | groups       |
| user_id  |----->| user_id      |     +--------------+
| username |      | group_id     |<----| group_id     |
| realname |      +--------------+     | group_name   |
| password |                           | group_desc   |
+----------+                           +--------------+

From an other PHP script I have a variable $group_id and now I want all usernames and user_ids which are in this group ($group_id).

I tried this but it didn't work:

SELECT u.username, u.user_id
FROM users u
WHERE users_groups.group_id = $group_id

How should the query look like? Something with joins, isn't it?

My PHP-Code:

$group_id = $_POST["group_id"];

    $query_user = mysqli_query($db, 
                                    "SELECT 
                                    User.user_id, User.username
                                    FROM users User 
                                    INNER JOIN user_groups UserGroup
                                        ON User.user_id = UserGroup.user_id
                                    WHERE UserGroup.group_id = $group_id
                                    ");
    while ($row_user = mysqli_fetch_object($query_user)) {
        echo'
        '.$row_user->username.'<br>
        ';
    }
  • 写回答

2条回答 默认 最新

  • douqian6315 2015-06-28 17:23
    关注
    SELECT 
        User.user_id, User.username
    FROM users User 
    INNER JOIN users_groups UserGroup
        ON User.user_id = UserGroup.user_id
    WHERE UserGroup.group_id = $group_id
    

    Hopefully this would work fine!

    EDIT:

    $group_id = mysqli_real_escape_string($db, $_POST["group_id"]);
    
        $query_user = mysqli_query($db, 
                                        "SELECT 
                                        User.user_id, User.username
                                        FROM users User 
                                        INNER JOIN users_groups UserGroup
                                            ON User.user_id = UserGroup.user_id
                                        WHERE UserGroup.group_id = '$group_id'
                                        ");
        while ($row_user = mysqli_fetch_object($query_user)) {
            echo $row_user->username.'<br>';
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路
  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应