计数今天和昨天注册的用户数PHP

时间:2017-02-11 13:52:31

标签: php mysql

我想回复今天在我的网站管理面板上注册的用户数[计数]和昨天使用PHP。

我以这种格式保存他们的注册日期

  

2017-01-09 20:32:40

谷歌搜索后我发现了这个

$daterange = "24 HOUR"; 
$sql = "SELECT COUNT(*)  
FROM ad_total_today      
WHERE DATE_SUB(CURDATE(),INTERVAL $daterange) 
<= FROM_UNIXTIME(date_time)"; 

$res = mysql_query($sql); 
$today = mysql_result ($res, 0, 0);  

但我似乎无法理解。任何人都可以帮助我回复今天和昨天注册的用户总数?

2 个答案:

答案 0 :(得分:1)

解决方案是使用MySQL函数[do: block],使用CURDATE()将列格式化为日期(因此我们不必处理小时/秒/分钟)。然后你选择等于今天或昨天的东西。我已使用DATE()函数从SUBCAT()中减去一天。

CURDATE()

或者,您可以使用SELECT COUNT(*) as `count` FROM ad_total_today WHERE DATE(date_time) = CURDATE() OR DATE(date_time) = SUBDATE(CURDATE(), 1) 而不是两个条件。

IN

你应该真的停止使用MySQL功能,它们已经过时,已弃用,不安全且不再维护。切换到PDO或MySQLi - 并且在处理查询中的变量时不要忘记使用带占位符的参数化查询 - 这是保护数据免受SQL注入的唯一方法。

参考文献和阅读材料

答案 1 :(得分:0)

尝试以下查询

SELECT COUNT(*)  
FROM ad_total_today      
WHERE DATE_SUB IN (CURDATE(), CURDATE() + INTERVAL 1 DAY)