在下面的代码中,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 中的 AND CAST 转换为 BOOL 和“整数”
并更改运算符,例如 =、==、=== 并且还尝试只输入 if() 而不是如图所示传入 $a
AND$result = $result['LIVE'];
并传入 $result。
我已经阅读了PHP 类型比较表和PHP 类型杂耍以及手册的所有其他相关部分if(), while(), mysqli_fetch_array()
等,但我自己无法解决这个问题。
我仍在学习 PHP,我确信这是一个简单的解决方法,但我只是看不到它。