Php If else语句未使用$query->num_rows()触发

Php If else语句未使用$query->num_rows()触发,php,Php,我有两个MySQL查询从表中获取数据 单独而言,if$query\u one->num\u rows>0和/或if$query\u two->num\u rows>0都能很好地工作 问题:但是,当在elseif语句中使用时,只有第一个查询$query\u one->num\u行获取数据。如果第一个查询没有结果,则应触发第二个查询$query\u two->num\u rows if ($query_one->num_rows() > 0) { return $

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

单独而言,if$query\u one->num\u rows>0和/或if$query\u two->num\u rows>0都能很好地工作

问题:但是,当在elseif语句中使用时,只有第一个查询$query\u one->num\u行获取数据。如果第一个查询没有结果,则应触发第二个查询$query\u two->num\u 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语句的正确方法,但我已经读过了


提前感谢

请尝试这种方式,以便您知道它的用途:

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;
   }
}
当你发现问题所在时,只需去除回声即可。
也许这两个查询都不会返回任何内容

所以。。第二个查询从未被触发?只有当括号内的代码计算结果为true时,括号{}内的代码才会运行。你确定$query\u two->num\u rows大于0吗?尝试使用mysql\u num\u rows$query\u two>0和mysql\u num\u rows$query\u one>0。或者$query\u one->num\u rows总是>0$query\u two->num\u rows绝对不是0,因为在没有elseif语句的情况下使用时,它会返回true谢谢帮助,但我觉得这不是最佳做法。如果你不知道你的代码出了什么问题,你怎么能修复代码呢?