2

リソースを読んだことがありますが、if条件についてはあまり詳しくありません。ここから始めているステートメントは次のとおりです。

$Phone = $MyDB['Phone'];
$Mobile = $MyDB['Mobile'];

"SELECT * FROM TABLE WHERE ((number LIKE '%$Phone%') OR (number LIKE '%$Mobile%))";

$Phone または $Mobile のいずれかがゼロに等しい可能性がありますが、両方がゼロに等しくなることはありません。その場合、このクエリはすべてのデータを返します。だから私は試すことができると思った:

$NoValue = '';

"SELECT * FROM TABLE WHERE IF('$Phone' != '$NoValue', (number LIKE '%$Phone%'), (number LIKE '%Mobile%'))";

もちろん、これは実際のクエリの非常に単純化されたバージョンです。正しい値を返すためにいくつかのものを比較する必要があるため、WHERE の後に if を使用できますか? 誰もが正しい使用法の実際の例を持っていますか?それは非常に便利です

4

2 に答える 2

0

PHP を使用していることがわかります。

if(isset($Phone)){
"SELECT * FROM TABLE WHERE number LIKE '%$Phone%'";
}else{
"SELECT * FROM TABLE WHERE number LIKE '%Mobile%'";
}
于 2012-05-26T00:26:45.397 に答える
0

これをチェックして:

SELECT * , IF('$phone' = '$novalue','%$mobile%','%$phone%') as comparevalue    
FROM TABLE GROUP BY Id_column HAVING number LIKE comparevalue
于 2012-05-26T00:34:38.487 に答える