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'])) { }
我想要实现的目标:如果用户将 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'])) { }