2017-02-11 78 views
0

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

我挽救了他们的注册日期在这种格式

2017年1月9日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); 

,但我不能似乎明白it.Can任何人都可以帮我回应今天和昨天注册的用户总数?

+0

**不要**使用**弃用和不安全**'mysql_ *'函数。自PHP 5.5(2013年)开始,它们已被弃用,并在PHP 7中完全删除。请改用MySQLi或PDO。 –

+1

*“但我似乎无法理解它”* - 不明白究竟是什么?你在哪里回应它,是否有任何错误?恕我直言的问题既过于宽泛,也不明确;但大多不清楚。对于UNIXTIME的位置/方式,架构是未知的。 –

+0

这只是sql查询。当我尝试echo $今天。我收到错误。 我想回复昨天在我的网站上注册的用户总数 ,并在管理面板中回显他们 – user7550234

回答

0

试试下面的查询

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

一个解决方案是使用MySQL的函数CURDATE(),你列格式迄今为止,只DATE()(所以我们没有处理小时/秒/分钟)。然后你选择什么与今天或昨天相等。我使用SUBCAT()函数从CURDATE()减去一天。可以使用IN而不是两种情况。

SELECT COUNT(*) as `count` 
FROM ad_total_today 
WHERE DATE(date_time) IN (CURDATE(), SUBDATE(CURDATE(), 1)) 

你应该真的停止使用MySQL的功能,他们都老了,过时了,没有安全感,不再维持。切换到PDO或MySQLi - 在处理查询中的变量时,不要忘记在占位符中使用参数化查询 - 这是保护SQL注入数据的唯一方法。

参考和readingmaterial