php - 聚合函数 SUM() 返回 null PHP

标签 php mysql

我遇到了这个问题,我的查询如下:

   $obtener_egresos_cobrados = mysql_query("SELECT SUM(subtotal) AS egresos_cobrados FROM rg_egresos WHERE id = '".$sesionidCont."' AND DATE_FORMAT(fecha, '%Y') = '".$primerFechaAnio."' AND DATE_FORMAT(fecha, '%m') < '".$primerFechaMes."' AND (tipoCuenta = 2 OR tipoCuenta = 3) AND (estado_factura = 1 OR estado_factura = 3) AND modificado = 0") or die (mysql_error());
   $obtener_egresos_cobrados = mysql_fetch_assoc($obtener_egresos_cobrados);
   $total_egresos_cobrados   = $obtener_ingresos_cobrados['egresos_cobrados'];

它应该返回 10,000 的金额,但只返回 null,当我尝试直接在 phpMyAdmin 中执行此操作时,会返回正确的金额,这就是执行查询后 phpMyAdmin 生成的内容:

SELECT SUM( subtotal ) AS egresos_cobrados
FROM rg_egresos
WHERE id =6
AND DATE_FORMAT( fecha, '%Y' ) = '2016'
AND DATE_FORMAT( fecha, '%m' ) < '02'
AND (
tipoCuenta =2
OR tipoCuenta =3
)
AND (
estado_factura =1
OR estado_factura =3
)
AND modificado =0

enter image description here

我尝试用日期值替换变量 $primerFechaAnio$primerFechaMes 但仍然不起作用,我缺少什么?

最佳答案

在您的代码中,您将该行存储在 $obtener_egresos_cobrados 中,但您尝试访问 $obtener_ingresos_cobrados。该代码的最后一行应该是:

$total_egresos_cobrados   = $obtener_egresos_cobrados['egresos_cobrados'];

关于php - 聚合函数 SUM() 返回 null PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37259339/

相关文章:

memory-leaks - PHP-FPM占用太多内存

php - MySQL 在查询匹配的情况下使用 concat 更改 id

php - 在 MySQL 数据库中存储 Unix 时间戳需要多大的 INT?

php - 带有 mysql 的 while 循环中的 if 语句永远不会是真的 PHP

php - 如何在 Laravel 上将搜索表单连接到数据库并检索数据

mysql - 如何使多对多关系表对 MySQL 中的 SELECT 查询有效?

php - Laravel 5.6 使用 Eloquent ORM 将所有行作为值数组获取

php - phpmyadmin 数据库中表的数量 4

php - Laravel RESTful API 解析外键

mysql - LOAD DATA INFILE - mySQL 错误代码 : 1261. 第 1 行不包含所有列的数据