PHP SQL除以零警告,但不是零

PHP SQL除以零警告,但不是零,php,mysqli,Php,Mysqli,我有麻烦了。 我有一个SQL表,其中包含最终确定、关闭、取消和处理的流程,这些流程也由一个区域(人才、外包、数字等)关联。 我想按面积和进程状态做一个平均值。 因此,我: $tiempoQueryFinalizados = mysqli_query($con, "SELECT IFNULL(SUM(IFNULL(timestampdiff(DAY,fecha_creacion,IFNULL(fecha_cerrado,NOW())),0)),0) AS finalizados, (S

我有麻烦了。 我有一个SQL表,其中包含最终确定、关闭、取消和处理的流程,这些流程也由一个区域(人才、外包、数字等)关联。 我想按面积和进程状态做一个平均值。 因此,我:

$tiempoQueryFinalizados = mysqli_query($con,
 "SELECT IFNULL(SUM(IFNULL(timestampdiff(DAY,fecha_creacion,IFNULL(fecha_cerrado,NOW())),0)),0) AS finalizados, 
    (Select count(id_proceso) from proceso where estado ='FINALIZADO' and fecha_cerrado is not null) as c 
  FROM proceso 
  WHERE estado = 'FINALIZADO' and fecha_cerrado IS NOT NULL and area ='".$rowArea['id_area']."' ");
然后我在PHP中使用一个简单的除法

mysqli_fetch_assoc($tiempoQueryFinalizados)['finalizados']/mysqli_fetch_assoc($tiempoQueryFinalizados)['c']

但是我得到了错误警告:被零除,所以我检查是否为零,但它不是。在本例中,
mysqli\u fetch\u assoc($tiempoQueryFinalizados)['c']=2
,但仍计为0

需要帮忙吗


编辑:区域由一个fetch数组返回,
$areaQuery=mysqli\u query($con,“SELECT*from-reace-where-id\u-area!=0”)

这不是一个简单的划分

mysqli_fetch_assoc($tiempoQueryFinalizados)['finalizados'] / 
mysqli_fetch_assoc($tiempoQueryFinalizados)['c']
每次调用
mysqli\u fetch\u assoc()
都会从结果集中获得一个新行。因此,由于查询只返回一行,第二个调用将返回FALSE,该值等于零

因此,这将是一种更好的检索和计算方法

$row = mysqli_fetch_assoc($tiempoQueryFinalizados);
$calc = $row['finalizados']] / $row['c'];

这不是一个简单的划分

mysqli_fetch_assoc($tiempoQueryFinalizados)['finalizados'] / 
mysqli_fetch_assoc($tiempoQueryFinalizados)['c']
每次调用
mysqli\u fetch\u assoc()
都会从结果集中获得一个新行。因此,由于查询只返回一行,第二个调用将返回FALSE,该值等于零

因此,这将是一种更好的检索和计算方法

$row = mysqli_fetch_assoc($tiempoQueryFinalizados);
$calc = $row['finalizados']] / $row['c'];

好吧,我忘记了你每次调用mysqli\u fetch*
时都会跳到下一个寄存器,所以我只需要编辑


$tiempoQueryFinalizados=mysqli_查询(。。。


$tiempoQueryFinalizados=mysqli_fetch_assoc(mysqli_查询(。。。

现在

$tiempoQueryFinalizados['finalizados']/$tiempoQueryFinalizados['c']

工作很好:)
谢谢大家!

好的,我忘记了当每次调用
mysqli\u fetch*
时,您都会跳到下一个寄存器,所以我只需要编辑


$tiempoQueryFinalizados=mysqli_查询(。。。


$tiempoQueryFinalizados=mysqli_fetch_assoc(mysqli_查询(。。。

现在

$tiempoQueryFinalizados['finalizados']/$tiempoQueryFinalizados['c']

工作很好:)
谢谢大家!

mysqli_fetch_assoc($tiempoQueryFinalizados)['finalizados']
为null或零。是的,有时,但仍然是0/2=0您希望该查询返回多少行??对
mysqli_fetch_assoc
的第二次调用从查询中获取第二行。第二行的值可能为零,或者如果没有第二行,则很可能为null。只返回1行、进程的总和,以及具有此状态的所有进程的计数。
mysqli_fetch_assoc($tiempoQueryFinalizados)['finalizados']
为null或零。是的,有时,但仍然是0/2=0您希望该查询返回多少行??对
mysqli_fetch_assoc
的第二次调用从查询中获取第二行。第二行的值可能为零,或者如果没有第二行,则很可能为null。只返回1行、进程的总和,以及具有此状态的所有进程的计数。