在下面的代碼中,if語句被評估爲FALSE,我認爲它應該爲TRUE。 我誤解了什麼?如果語句未按預期進行評估
$sql = "SELECT * FROM LIVE";
$res = mysqli_query($con, $sql);
while ($result = mysqli_fetch_assoc ($res)){
var_dump($result['LIVE']); //string '1' (length=1)
echo $result['LIVE']. "<br>"; //1
}
$a = "1";
if($result['LIVE'] == $a){
echo "It is live!";
}
else {
echo "not live!"; //this gets echoed
}
我已經嘗試了引號的所有變體」,」沒有引號
並改變在MySQL表到BIT列中的數據和數據類型,CHAR,INT
,並投中PHP爲BOOL和「整數」
並改變操作者例如=,==,===和還試圖只輸入到如果()而不是傳遞在$ a所示
甲ND $result = $result['LIVE'];
並傳入$ result。
我已閱讀PHP type comparison tables和PHP type juggling以及手冊if(), while(), mysqli_fetch_array()
等的所有其他相關部分,無法自己解決此問題。
我還在學習PHP,我相信這是一個簡單的修復,但我只是看不到它。
在php中使用'=='會嚇到我。我很少用它 – binnyb