下面的SQL查詢不會輸出$ srchRegion & & $ srchCategory字符串,如果兩者都有$ _POST值。爲什麼?sql查詢無法獲得3rd elseif值 - 爲什麼?
if (($srchRegion!='00') || ($srchRegion!='') && ($srchCategory=='00') || ($srchCategory=='')) {
return $query .= "AND region='$srchRegion'";
} elseif (($srchRegion=='00') || ($srchRegion=='') && ($srchCategory!='00') || ($srchCategory!='')) {
return $query .= "AND category='$srchCategory'";
} elseif (($srchRegion!='00') || ($srchRegion!='') && ($srchCategory!='00') || ($srchCategory!='')) {
return $query .= "AND region='$srchRegion' AND category='$srchCategory'";
}
有沒有更好的方法來做到這一點?
http://stackoverflow.com/questions/7209888/is-it-possible-to-prevent-death-by-parentheses - 這就是你的問題簡而言之。嘗試和使用更少的括號,超過一半你使用的不需要在那裏,這實際上是造成你的問題。你的問題的另一部分是總結[這裏](http://php.net/manual/en/language.operators.precedence.php) – DaveRandom 2012-08-06 10:08:34