0

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

这是我的伪查询:

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

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

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

person = '$var1' AND
place = '$var2' AND
location_b = '$var3'

有没有办法在不使用的情况下同时搜索location_alocation_b搜索?$var3OR

4

1 回答 1

5

使用括号:

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

其实我不明白你的问题。您不必重述整个查询。也许你显示你的代码?有什么不好的OR?只需使用括号。

于 2012-04-30T20:41:40.467 回答