我想回显今天[正在计数]和昨天使用 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()
将列格式化为仅日期(这样我们就不必处理小时/秒/分钟)。然后您选择等于今天或昨天的内容。我使用 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 注入(inject)的唯一方法。
引用文献和阅读 Material
关于php - PHP 统计今天和昨天注册的用户数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42176659/