Problem mit UserOnlineScript und DATE_SUB

multimolti

Erfahrenes Mitglied
Hallo!

Ich versuche grade, ein Useronlinescript für meine Seite zu bauen. Gibt ja ganz gute Tutorials, aber die nützen mir nicht viel, weil auf die Seite nur registrierte Benutzer kommen, also ist der DB-Eintrag immer schon vorhanden. Bei jedem Seiten-Laden wird LastAction auf NOW() gesetzt, und ich wollte jetzt so herausfinden, wie viele User in den letzen 5 Minuten auf der Seite waren:
PHP:
function useronlinecount($table)
{
	$sql = "SELECT 
				COUNT(*) As Anzahl 
		   	FROM $table 
		   	WHERE 
		   		DATE_SUB(NOW(), INTERVAL 5 MINUTE) > UserAction;";
	$result = mysql_query($sql);
	$row = mysql_fetch_assoc($result);
	return $row['Anzahl'];
}
Aber ich bekomme immer "Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource". Warum? Müsste doch so stimmen, oder?
 
Ah ja, das mit dem > hatte ich falsch.

Aber warum sollte nach dem LastAction kein Semikolon kommen? Das beendet ja den MySQL-Query, und wenn ich das rausnehme kommt immer noch dass das keine valid ressource ist.
 
Mit mysql_query() darf man immer nur EIN SQL-Statement abschicken. Hast aber echt: Wenn es nur ein ";" gibt und dieses am Ende steht, dann wird es von mysql_query() igrnoriert. Der Fehler muss also doch woaders liegen.
Was ist in $table? Ist UserAction ein Feld? Was liefert mysql_error()?
 
War der blödeste Anfängerfehler, habe die Spalte LastAction erstellt, wollte aber UserAction benutzen. Also einfach nur vertippt, habe das jetzt geändert und es geht.
 

Neue Beiträge

Zurück