[英]PHP if not doesn't seem to work right
這似乎行不通,不知道為什么,但是IF NOT語句似乎對我不起作用。 我仔細檢查了所有內容,然后將其拼寫正確。
第一段代碼似乎運行良好。
$queryString = "SELECT * FROM biler";
if($searchType == "alle") {
//nothing
} else {
$queryString = " WHERE bilType = '$searchType'";
}
但這不是。
$queryString = "SELECT * FROM biler";
if(!$searchType == "alle") {
$queryString = " WHERE bilType = '$searchType'";
}
你的 ”!” 在錯誤的地方
嘗試這個:
if($searchType != "alle") {
$queryString = " WHERE bilType = '$searchType'";
}
!=代表“不相等”
您試圖對代碼進行的操作是詢問變量是否不是“ true”
您正在錯誤地進行比較。 應該
$queryString = "SELECT * FROM biler";
if($searchType != "alle") {
$queryString .= " WHERE bilType = '$searchType'";
}
請參閱php比較運算符-http: //php.net/ternary
兩件事情...
第一,那是完全相反的條件。 因此,即使第二個程序“工作”了,它仍然會產生與第一個相反的效果。
其次,操作員不能按照您認為的順序工作。 您實際上是在這樣做:
if ((!$searchType) == "alle")
您可以使用此:
if (!($searchType == "alle"))
或者,更干凈:
if ($searchType != "alle")
你的 ! 應該應用於整個條件,即$ searchType ==“ alle”如下所示
$queryString = "SELECT * FROM biler";
if(!($searchType == "alle")) {
$queryString = " WHERE bilType = '$searchType'";
}
您是否檢查了$searchType
? 也許不存在? 例:
$queryString = "SELECT * FROM biler";
if(isset($searchType) && $searchType == "alle") {
//nothing
} else {
$queryString = " WHERE bilType = '$searchType'";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.