我有一个奇怪的问题,一个语句在测试服务器上运行正常,但是当我将它上传到实时服务器时,我收到错误。
我的问题如下,我根据查询的行数返回true或false,我已经测试了查询并且似乎有问题
$row = mysqli_num_rows($result);
//$row for this example equals zero (0)
return ($row > 0) ? false : true;
它返回true,我想也许我应该使用if语句,但我想找出为什么这会返回true并且它应该返回false;
提前谢谢
答案 0 :(得分:6)
我并不完全理解你的问题,但是我会在黑暗中拍摄,并说你的三元运算符中的返回值是错误的。
试试这个:
return ($row > 0) ? true : false;
您可以通过以下方式进一步改善这一点:
return ($row > 0);
作为参考,三元运算符等同于写:
if($row > 0)
{
return true;
}
else
{
return false;
}
因此无需将其重写为if()
语句。
答案 1 :(得分:1)
你不需要三元组。这样做:
return ($row > 0);
您已从结果中获取布尔值。无需复杂化。