如果语句返回错误的值

时间:2014-01-06 17:31:18

标签: php

我有一个奇怪的问题,一个语句在测试服务器上运行正常,但是当我将它上传到实时服务器时,我收到错误。

我的问题如下,我根据查询的行数返回true或false,我已经测试了查询并且似乎有问题

$row = mysqli_num_rows($result);
//$row for this example equals zero (0)
return ($row > 0) ? false : true;

它返回true,我想也许我应该使用if语句,但我想找出为什么这会返回true并且它应该返回false;

提前谢谢

2 个答案:

答案 0 :(得分:6)

我并不完全理解你的问题,但是我会在黑暗中拍摄,并说你的三元运算符中的返回值是错误的。

试试这个:

return ($row > 0) ? true : false;

您可以通过以下方式进一步改善这一点:

return ($row > 0);

作为参考,三元运算符等同于写:

if($row > 0)
{
    return true;
}
else
{
    return false;
}

因此无需将其重写为if()语句。

答案 1 :(得分:1)

你不需要三元组。这样做:

return ($row > 0);

您已从结果中获取布尔值。无需复杂化。