当我在其中添加WHERE语句时,SELECT查询失败

时间:2015-07-21 16:25:32

标签: php mysql sql

我最初有这样的SELECT查询..

($con,"SELECT * FROM users ORDER BY id ASC LIMIT 1");

但是,我意识到我需要2,3,4或5组中的最新用户(不包括组1)。所以最后我只希望一个用户显示最新的。

我的SELECT查询现在有什么问题,因为它不显示任何内容?

//Newest Member
$member = mysqli_query($con,"SELECT * FROM users WHERE `group`=2, 3, 4,5 ORDER BY id ASC LIMIT 1");
$numrows_member = mysqli_num_rows($member);
    if($numrows_member > 0){
        while($row_member = mysqli_fetch_assoc($member)){
            $memberid = $row_member['id'];
            $member_username = $row_member['username'];
            echo $member_username;
        }
    } else {
    echo "No Members Found...";
    }

2 个答案:

答案 0 :(得分:2)

您正在寻找IN运营商。语法如下:

SELECT *
FROM users
WHERE `group` IN (2, 3, 4, 5)
ORDER BY id ASC
LIMIT 1;

reference here

注意:根据您的评论,如果您正在寻找最新用户,您可能希望以DESC顺序订购,以便将最大的ID放在第一位。更好(在我看来),如果你存储account_created_date你可以订购。再次,按降序排列。

答案 1 :(得分:2)

如果您要排除特定的group,请使用!=,而不是尝试查找剩余的群组之一:

SELECT * FROM users WHERE `group` != 1 ORDER BY id ASC LIMIT 1