0

$_POST変数に応じて非常に長いクエリを作成するページがあります。MySQL なしでこれを実行しようとしている理由はOR、最後に 1 つの小さなパラメーターを変更するためだけにクエリ全体を再記述しなければならないためです。これはリソースの浪費のように思えます。

これは私の疑似クエリです:

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 に答える