我试图计算10分钟内在我的网站上有多少用户在线并显示它,但是我的代码遇到了一些问题。

//Count online users
//Data on DB: 2016-06-08 03:15:21

    $onlinesql = $odb -> prepare("SELECT `users`.`lastactivity`  count(*) FROM `users` WHERE `lastactivity` >= DATE_SUB(NOW(), INTERVAL 10 MINUTE");
    $onlinesql -> execute(array(":id" => `lastactivity`));
    $rowonline = $onlinesql -> fetch();

    echo $rowonline;


它没有返回在线用户的数量,我如何使它正常工作?

最佳答案

您可能想重新访问您的SQL。这是一个例子:

    <?php
        $sql        = "SELECT COUNT(U.*) FROM `users` U WHERE u.lastactivity >= DATE_SUB( NOW(), INTERVAL 10 MINUTE)";
        $onlineSQL  = $odb ->prepare($sql);
        $onlineSQL  -> execute();
        $numOnline  = $onlineSQL->fetch();

        var_dump($numOnline);

08-07 06:03