免責事項:単一のWHEREステートメントにANDおよびOR演算子を追加することが可能であることを私は知っています、そしてこれは一般的にそれを行うための適切な方法です...
ただし、さまざまな外部要因に基づいて動的に複雑なクエリを作成しています。読みやすさと保守性の目的で、常に満たす必要のある特定の条件に対して1つのWHEREステートメントを作成し、その後、状況に応じて変更される別の(2番目の)ステートメントを追加できれば、かなり整理されます。
A.これは有効なMySQLですか?B.何か特別な理由で、それはひどい考えですか?
簡単な例を次に示します。
<?php
$query = "
SELECT a,b,c
FROM table1
LEFT JOIN table2 on foo=bar
LEFT JOIN table3 on foo2=bar2
...
WHERE foobar = something_that_is_consistent
AND boobar = something_else_consistent
...
";
if ( $something_special ) {
$query .= "WHERE ..."
}
if ( $something_else_special ) {
$query .= "WHERE ..."
}
これは簡単な例ですが、うまくいけば、私が考えていることと、クエリ文字列内で大きくネストされた条件を回避しようとしている方法を示しています。