MySQL搜索多个没有OR的列

Nor*_*rse 0 mysql select multiple-columns

我有一个页面,根据$_POST变量建立一个非常长的查询.我试图在没有MySQL的情况下这样做的原因OR是因为我必须重新整理整个查询只是为了在最后改变一个小参数,这似乎是浪费资源.

这是我的伪查询:

SELECT * FROM names WHERE 
person = '$var1' AND
place = '$var2' AND
location_a = '$var3' AND
location_b = '$var3'
Run Code Online (Sandbox Code Playgroud)

如果我要使用OR,这个胖丑陋的查询将是:

SELECT * FROM names WHERE 
person = '$var1' AND
place = '$var2' AND
location_a = '$var3' OR

person = '$var1' AND
place = '$var2' AND
location_b = '$var3'
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以同时搜索location_alocation_b$var3不使用OR

fan*_*nts 5

使用parantheses:

SELECT * FROM names WHERE 
person = '$var1' AND
place = '$var2' AND
(
location_a = '$var3' OR location_b = '$var3'
)
Run Code Online (Sandbox Code Playgroud)

其实我不明白你的问题.您不必重述整个查询.也许你展示你的代码?什么是如此糟糕OR?只需使用parantheses.