多个条件和ID检查

时间:2012-07-09 11:51:22

标签: php mysql where conditional-statements

您好我有一个mysql查询,有多个条件要检查,所以我用()分隔每个,例如:

WHERE (a='string' AND b='string') OR (a='otherstring' AND b='otherstring)

我遇到的问题是我必须添加用户检查,我不知道是否必须再次使用(),例如,这是正确的吗?

WHERE ((a='string' AND b='string') OR (a='otherstring' AND b='otherstring)) AND (id='1') 

谢谢!

2 个答案:

答案 0 :(得分:1)

WHERE 
    (
        (a='string' AND b='string') 
        OR (a='otherstring' AND b='otherstring')
    ) 
    AND id='1'

这将找到id为1的所有记录,其中a.string = b.string或a.string = otherstring。

编辑:只是为了进一步澄清:

基本上,括号内的任何内容都等同于:例如:

// Condition 1
(
    this=somethingelse
    and this2=somethingelse2
)
// Condition 2
and
(
    someCondition=anotherConidition
    and
    // Condition 3
    (
        thirdCondition=anotherCondition3
        or thirdCondition2=anotherCondition4
    )
)
在这个例子中

。条件1中的两个条款都必须得到满足。条件2也必须在第一个someCondition HAS to equal anotherCondition以及条件3中的任何一个语句中得到满足。

答案 1 :(得分:0)

这可能与您在最后一个条件下没有关闭字符串的代码有关尝试此

WHERE ( (a='string' AND b='string') OR (a='otherstring' AND b='otherstring') ) AND (id='1')