gpt4 book ai didi

php - if 语句未按预期计算

转载 作者:行者123 更新时间:2023-11-29 08:26:05 25 4
gpt4 key购买 nike

在下面的代码中,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 type comparison tablesPHP type juggling以及手册的所有其他相关部分 if()、while()、mysqli_fetch_array() 等,但我自己无法解决这个问题。

我仍在学习 PHP,我确信这是一个简单的修复方法,但我就是看不到它。

最佳答案

您没有保存$result的值;在 while 循环的最后一次迭代期间,$result 将设置为 false,因为没有更多的行需要遍历。这也是触发退出 while 循环的原因。

您需要将值设置为另一个临时变量。

while ($result = mysqli_fetch_assoc ($res)){
$temp = $result['LIVE']; //1
}
$a = "1";

if($temp == $a){

关于php - if 语句未按预期计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17871488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com