Php If语句返回错误的值
我有一个奇怪的问题,一个语句在测试服务器上正常工作,但当我将它上传到一个实时服务器时,我得到了一个错误 我的问题如下,我根据查询的行数返回true或false,我已经测试了查询,似乎有问题Php If语句返回错误的值,php,Php,我有一个奇怪的问题,一个语句在测试服务器上正常工作,但当我将它上传到一个实时服务器时,我得到了一个错误 我的问题如下,我根据查询的行数返回true或false,我已经测试了查询,似乎有问题 $row = mysqli_num_rows($result); //$row for this example equals zero (0) return ($row > 0) ? false : true; 它返回true,我想也许我应该使用if语句,但我想知道为什么它返回true,它应该返回f
$row = mysqli_num_rows($result);
//$row for this example equals zero (0)
return ($row > 0) ? false : true;
它返回true,我想也许我应该使用if语句,但我想知道为什么它返回true,它应该返回false
提前谢谢你我不完全理解你的问题,但我想在这里暗中试一试,告诉你三元运算符中的返回值是错误的 试试这个:
return ($row > 0) ? true : false;
通过执行以下操作,您可以进一步提高这一点:
return ($row > 0);
作为参考,三元运算符相当于写入:
if($row > 0)
{
return true;
}
else
{
return false;
}
因此,无需将其重写为
if()
语句。您不需要三元数。只要这样做:
返回($row>0)代码>
您已经从结果中获得布尔值。无需使其复杂化。您进行了什么样的调试?查询本身有问题吗?。。或者只返回$row>0
或干脆返回$row>0
感谢您的快速响应,如果行数大于0,最好返回false。在保存任何数据之前,我检查该值是否存在,如果存在,则返回false.BenM感谢您提供的信息,我最终使用了return($row<0);它正在发挥作用。你把我引向了正确的方向,谢谢。如果行大于0,我想返回false。