2016-07-18 13 views
-4

Wenn ich das select direkt in mysql ausführen gibt es 2 NULL Ergebnisse und 2 Durchschnittswerte. Wenn ich versuche, mit isset zu echotieren, geben alle Werte Null zurück (angezeigt als "unbekannt"). Wenn ich das Isset entferne, werden die zwei Werte sowie 2 leere Werte zurückgegeben.MYSQL PHP Echo isset auf Alias ​​

Ich habe auch versucht, $ row ['timesum']! = '0',> '0',! = '' Egal, wie ich versuche, es zurückzugeben, es zeigt entweder jedes Ergebnis als 'unbekannt' oder Es wird kein 'unbekannt' angezeigt. Fehle ich etwas?

foreach($db->query(" 
SELECT SEC_TO_TIME(AVG(TIME_TO_SEC(`time_spent`))) AS timeSum, 
local,siteID,referring_site,COUNT(local) AS thecount, 
    COUNT(distinct local) 
    FROM rotator_tracking WHERE siteID='43' 
GROUP BY local, referring_site 
ORDER BY thecount DESC") as $row) { 

    if (isset($row['timesum'])) { 
    echo $row['timeSum']; 
    } else { 
    echo 'Unknown'; 
    } 
} 
+3

'timesum' vs' timeSum' – iainn

+0

Ich hätte wahrscheinlich das für Tage vor dem Bemerken =/ – Bruce

+1

haben Sie wahrscheinlich Display_errors und error_reporting ausgeschaltet haben. wenn sie eingeschaltet wären, hätten Sie zumindest eine "undefined index" Warnung wegen des s/S Tippfehlers bekommen. Diese Einstellungen sollten NIEMALS in einem devel/debug-System deaktiviert sein. –

Antwort

1

Hier werden Sie die Einstellung der Funktion dem Alias ​​timeSum (beachten Sie die Hauptstadt "S"):

SELECT SEC_TO_TIME(AVG(TIME_TO_SEC(`time_spent`))) AS timeSum 

Hier können Sie es als Kleinbuchstaben beziehen:

if (isset($row['timesum'])) { 

Achten Sie darauf, dass Groß- und Kleinschreibung beachtet wird.