"SELECT * FROM users WHERE user_id='$user_id' AND active='1' OR reserved='1'";
我想拉出所有 Active 或 Reserved = 1 的用户,但我认为我做的不正确。
将您的查询更改为:
"SELECT * FROM users WHERE (user_id='$user_id') AND (active='1' OR reserved='1')";
在数学中,如果您写,那么您是先做部分(然后)还是先做部分(然后)5 + 4 - 3
并不重要。但是,使用and ,它们的执行顺序很重要。所以你需要括号。5 + 4
9 - 3 = 6
4 - 3
5 + 1 = 6
AND
OR
... WHERE `user_id`='$user_id' AND (`active`=1 OR `reserved`=1)
更长的版本
"SELECT * FROM users WHERE user_id='$user_id' AND active='1' OR user_id='$user_id' AND reserved='1'";
较短的版本
"SELECT * FROM users WHERE user_id='$user_id' AND (active='1' OR reserved='1')";
如果您想要Active 或 Reserved = 1 的所有用户,则只需删除即可user_id='$user_id' AND
,因为其他答案只会显示 user_id 为 $user_id 的单个用户。否则@Akam 做对了:)