2016-05-16 3 views
0

Я получил эту проблему, мой запрос выглядит следующим образом:Агрегатная функция SUM() возвращает нуль PHP

$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']; 

И предположим, вернуть сумму 10000, но только возвращает нуль, и когда я пытаюсь сделать это в 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 со значениями даты, но все еще не работает, что мне не хватает?

+0

Таким образом, ошибка, очевидно, в вашем PHP-коде, не так ли? – Strawberry

+0

@Strawberry да, это была моя ошибка :) –

+1

Функции 'mysql_ *' на PHP устарели и не должны использоваться. Пожалуйста, прочитайте [Почему я не должен использовать функции mysql_ * в PHP?] (Http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php) для получения информации о том, почему и почему что заменить их. –

ответ

1

В вашем коде вы храните строку в $obtener_egresos_cobrados, но вы пытаетесь получить доступ к $obtener_ingresos_cobrados. Последняя строка в этом коде должна быть:

$total_egresos_cobrados = $obtener_egresos_cobrados['egresos_cobrados']; 
+0

Вы правы, большое вам спасибо –

Смежные вопросы