[英]Count Number of users registered today and yesterday PHP
我想使用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);
但是我似乎无法理解,有人可以帮助我回显今天和昨天注册的用户总数吗?
一种解决方案是使用MySQL函数CURDATE()
,用DATE()
将列的格式设置为仅DATE()
(因此,我们不必处理小时/秒/分钟)。 然后,选择等于今天或昨天的值。 我已经使用SUBCAT()
函数从CURDATE()
减去一天。
SELECT COUNT(*) as `count`
FROM ad_total_today
WHERE DATE(date_time) = CURDATE()
OR DATE(date_time) = SUBDATE(CURDATE(), 1)
或者,您可以使用IN
代替两个条件。
SELECT COUNT(*) as `count`
FROM ad_total_today
WHERE DATE(date_time) IN (CURDATE(), SUBDATE(CURDATE(), 1))
您应该真正停止使用MySQL函数,因为它们过时,过时,不安全并且不再维护。 切换到PDO或MySQLi-并且在处理查询中的变量时不要忘记使用带占位符的参数化查询-这是保护数据免受SQL注入的唯一方法。
尝试以下查询
SELECT COUNT(*)
FROM ad_total_today
WHERE DATE_SUB IN (CURDATE(), CURDATE() + INTERVAL 1 DAY)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.