Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di Base
    Registrato dal
    Apr 2001
    Messaggi
    822

    [php mysql] query con SUM vuota

    Ciao ragazzi, sto diventando scemo.
    non capisco perchè questa query mi restituisce un valore vuoto:
    Codice PHP:
    $qtotals mysql_query("SELECT SUM(t) as sumt, SUM(p) as sump, SUM(b) as sumb, SUM(c) as sumc FROM users WHERE brand_id = 'A6F813EB-2CFC-DD11-A9BE-0003FF4335AE'");
    $totals mysql_fetch_array($qtotals);
    echo 
    $totals['sumt'];
    echo 
    $totals['sump'];
    echo 
    $totals['sumb'];
    echo 
    $totals['sumc']; 
    le colonne t,p,b,c assumono valore 0 o 1.
    voglio sapere i totali di queste colonne solo dove la colonna brand_id ha un determinato valore.

    niente, non vuole andare, funziona solo se non specifico la clausula WHERE.

    qualcuno riesce ad aiutarmi?

  2. #2
    Che cosa restituisce questo codice?

    Codice PHP:
    var_dump($qtotals):
    var_dump(mysql_num_rows($qtotals)); 

  3. #3
    Utente di HTML.it L'avatar di Base
    Registrato dal
    Apr 2001
    Messaggi
    822
    Originariamente inviato da filippo.toso
    Che cosa restituisce questo codice?

    Codice PHP:
    var_dump($qtotals):
    var_dump(mysql_num_rows($qtotals)); 
    resource(7) of type (mysql result) int(1)

  4. #4
    Questo significa che la query è stata eseguita correttamente e il result set contiene un record.

    Esegui questo codice per vedere cosa c'è nel record:

    Codice PHP:
    var_dump(mysql_fetch_array($qtotals)); 

  5. #5
    Utente di HTML.it L'avatar di Base
    Registrato dal
    Apr 2001
    Messaggi
    822
    Originariamente inviato da filippo.toso
    Questo significa che la query è stata eseguita correttamente e il result set contiene un record.

    Esegui questo codice per vedere cosa c'è nel record:

    Codice PHP:
    var_dump(mysql_fetch_array($qtotals)); 
    bool(false) :master:

  6. #6
    Sei sicuro che hai riportato TUTTO il codice che stai usando?

    Non è che hai dimenticato qualche riga?

    Edit:

    Esegui questo codice COSI' come è scritto:

    Codice PHP:
    $qtotals mysql_query("SELECT SUM(t) as sumt, SUM(p) as sump, SUM(b) as sumb, SUM(c) as sumc FROM users WHERE brand_id = 'A6F813EB-2CFC-DD11-A9BE-0003FF4335AE'");
    $totals mysql_fetch_array($qtotals); 
    var_dump($totals); 

  7. #7
    Utente di HTML.it L'avatar di Base
    Registrato dal
    Apr 2001
    Messaggi
    822
    Originariamente inviato da filippo.toso
    Sei sicuro che hai riportato TUTTO il codice che stai usando?

    Non è che hai dimenticato qualche riga?

    Edit:

    Esegui questo codice COSI' come è scritto:

    Codice PHP:
    $qtotals mysql_query("SELECT SUM(t) as sumt, SUM(p) as sump, SUM(b) as sumb, SUM(c) as sumc FROM users WHERE brand_id = 'A6F813EB-2CFC-DD11-A9BE-0003FF4335AE'");
    $totals mysql_fetch_array($qtotals); 
    var_dump($totals); 
    mmm allora, facendo un test ho scoperto che la query non produceva risultato (metre tu dicevi che restituiva un record, o forse ho capito male?), nel senso che non esistevano record con colonna brand_id = A6F813EB-2CFC-DD11-A9BE-0003FF4335AE ne ho inserite 2 per prova ed ora mi restiuisce le somme
    quindi vuol dire che quando il risultato è 0 restituisce NULL ??!?! perchè? essendo una somma pensavo che mi riestituisse almeno 0 !

  8. #8
    niente + niente + niente = niente
    0 + 0 + 0 = 0


  9. #9
    Originariamente inviato da Base
    mmm allora, facendo un test ho scoperto che la query non produceva risultato (metre tu dicevi che restituiva un record, o forse ho capito male?),
    La query PRODUCE un risultato: se mysql_num_rows() restituisce 1 significa che c'è 1 record nel result set.

    Per il resto, ti suggerisco di leggere la documentazione ufficiale:

    http://dev.mysql.com/doc/refman/5.1/...l#function_sum

    SUM([DISTINCT] expr)

    Returns the sum of expr. If the return set has no rows, SUM() returns NULL. The DISTINCT keyword can be used in MySQL 5.1 to sum only the distinct values of expr.

    SUM() returns NULL if there were no matching rows.

  10. #10
    Utente di HTML.it L'avatar di Base
    Registrato dal
    Apr 2001
    Messaggi
    822
    Originariamente inviato da Samleo
    niente + niente + niente = niente
    0 + 0 + 0 = 0

    effettivamente!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.