私はAJAX経由でログインしている間毎分更新するDATETIMEフィールドを持つMYSQLデータベースをいくつか持っています。これは完全に機能します。しかし、私はそこにあり、それは理論的に、これは、各ユーザーのlidtm 'フィールドは、毎分更新するので、ログインしているユーザー数を教えなければならないPHPがログインしたユーザーの数を教えてください
$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;
が動作していない何ログインしているユーザーでのカウント数を取得しようとしています彼らがログインしている間、DATE_SUB関数がlidtmフィールドが> now() - 1分の行を数えれば、最後の1分以内に私のajaxによって更新されたすべてのユーザーを教えてくれます。
しかし何らかの理由で、常にすべての行を返します。
私は何が欠けていますか?私は、「lidtm」フィールドが最後の1分以内に何列あるかのカウントが必要です。 date()
とnow()
ラッピング
'DATE(now()) 'を呼び出すと、それをキャストします日付に、したがって最も近い24時間に更新する。 'DATE()'ビットを落として、 'now()'だけを渡してください。 –
@AlexHowanskyあなたは答えとして投稿する必要があります。 – Goose
便宜的に、booleanログインフラグを保持しないのはなぜですか?ここで、lidtm> DATE_SUB(NOW()、INTERVAL 1 MINUTE)のSELECT COUNT(*)から –