【发布时间】:2017-01-10 16:57:48
【问题描述】:
我是MySQL 的新用户,并试图根据年龄、性别和chat_id 过滤用户,
有以下查询:
SELECT * FROM Users WHERE
age = 17
AND gender='$gender1' OR gender='$gender2'
AND chat_id <> '$chat_id'
LIMIT 1
当$age 为 17 时,我得到了意想不到的结果并且不考虑 $age。
我错过了什么?
【问题讨论】:
-
“年龄 = 17 不起作用”是什么意思?你得到一个错误?意想不到的结果?什么?
-
Little Bobby 说 your script is at risk for SQL Injection Attacks.。了解 PDO 和 MySQLi 的 prepared 语句,并考虑使用 PDO,it's really pretty easy。
-
我得到了意想不到的结果,最终结果中不考虑年龄
-
你可能需要括号。
-
这是一个关于逻辑评估的问题。您可能需要在
(gender='$gender1' OR gender='$gender2')...周围加上一些括号...