如果else语句没有触发$ query-> num_rows()

时间:2018-03-20 06:47:31

标签: php

我有两个MySQL查询来从表中获取数据。

单独地,if ($query_one->num_rows() > 0)和/或if ($query_two->num_rows() > 0)完美无缺。

问题:但是,在 elseif语句中使用时,只有第一个查询$query_one->num_rows()才能获取数据。如果第一个查询没有结果,则第二个查询$query_two->num_rows()应该触发?

if ($query_one->num_rows() > 0)
    {
        return $query_one->row(0)->total;
    }
    else if($query_two->num_rows() > 0)
    {
        return $query_two->row(0)->total;
    }

    return 0;

我知道stackoverflow上有帖子显示了使用查询实现elseif语句的正确方法,但我已经阅读过了。

提前致谢

1 个答案:

答案 0 :(得分:-1)

尝试这种方式,以便您知道它的去向:

if ($query_one->num_rows() > 0)
{
    echo "query_one run";
    return $query_one->row(0)->total;
}
else 
{
    if($query_two->num_rows() > 0)
    {
       echo "query_two run";
       return $query_two->row(0)->total;
    }
    else
   {
      echo "nothing to return";
      return 0;
   }
}

当您发现错误时,只需删除回声即可。 也许这两个查询都没有返回任何内容。