php - 使用PHP统计在线用户数量

标签 php mysql count rows

我试图计算 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);

关于php - 使用PHP统计在线用户数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37694768/

相关文章:

php - 在php中使用类获取mysql表数据

javascript - 使用 Flask、Jquery、Javascript、MySQL 自动完成

php - 从网页复制文本

javascript - 向上计数定时器没有设置错误

Mysql - 按返回零进行计数和分组

php - unicode和丹麦语之间的utf8排序规则区别

php - 当字符串无效或在数据库中找到字符串时,如何引发PDO/MySQL错误?

PHP按任意顺序排序

c# - WCF Web 服务与 MySQL,读取 SQL 数据时出错?

mysql - COUNT 正在对行进行意外分组