Ich habe einige MySQL-Datenbank mit einem DATETIME-Feld, das sich jede Minute aktualisiert, während ein Benutzer über AJAX angemeldet ist. Das funktioniert perfekt. Allerdings versuche ich, eine Zählung, wie viele eingeloggte Benutzer zu bekommen sind und es funktioniert nichtPHP sagen, wie viele Benutzer angemeldet
$table = 'mytable';
$query = "SELECT * FROM $table WHERE lidtm > DATE_SUB(DATE(now()), INTERVAL 1 MINUTE)";
$result = mysqli_query($dbc, $query);
$num = mysqli_num_rows($result);
echo $num;
theoretisch sollte mir sagen, wie viele Benutzer angemeldet, da jeder Benutzer lidtm 'Feld jede Minute aktualisiert während sie angemeldet sind, also wenn die DATE_SUB-Funktion die Zeilen zählt, in denen das Lidtm-Feld> jetzt ist() - 1 Minute, sollte es mir alle Benutzer mitteilen, die innerhalb der letzten Minute von meinem Ajax aktualisiert wurden.
aber aus irgendeinem Grund gibt es immer alle Zeilen zurück.
was fehlt mir. Ich brauche eine Zählung, wie viele Zeilen das 'lidtm'-Feld innerhalb der letzten Minute ist.
Aufruf 'DATE (now())' wirft es zu einem Datum und damit zu den nächsten 24 Stunden. Lassen Sie einfach das 'DATE()' -Bit fallen und übergeben Sie 'now()' von selbst. –
@AlexHowansky sollten Sie das als Antwort posten. – Goose
SELECT COUNT (*) FROM meine Tabelle WHERE lidtm> DATE_SUB (JETZT(), INTERVALL 1 MINUTE) –