簡體   English   中英

如果沒有,PHP似乎無法正常工作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM