PHP - if 语句可以由于某种原因成为 ignored/skipped 吗?

PHP - Can if-statement being ignored/skipped for some reason?

我想要实现的目标:如果用户将 PHP 参数传递给服务器,它将 return 相同的参数值 返回给用户,而不是 return 从数据库本身获取

while($row = mysqli_fetch_assoc($result)){
    $classId = $row['classId'];
    
    if($obj['classId'] != ""){
        $classId = $obj['classId'];
    }

...
}

出于某种原因,我发现即使用户插入了 classId 参数,$classId 仍然使用 $row['classId'] 值。 PHP 似乎有 ignored/skipped if 语句。

 if($obj['classId'] != ""){..} //SKIPPED?

代码现在工作正常,我确实得到了相同参数值的 return。成百上千的用户中只有一个遇到这个问题,我假设 he/she 在服务器繁忙时发送了参数。

问题:

1.Can if 语句出于某种原因 ignored/skipped? 2.How 使 if 语句更可靠,即使服务器处于高流量?

不好意思在这里发帖。我自己谷歌搜索找不到合适的关键字。

谢谢。

您可以尝试让您的 if 语句更严格。

    if($obj['classId'] != ""){
        $classId = $obj['classId'];
    } else {
        $classId = $row['classId'];
    }

我还建议使用 isset 而不是检查空字符串。

if(isset($obj['classId'])) { }