PHP 点击计数器显示背靠背的命中



我正在研究一个点击计数器,当用户访问页面时,点击将被重新记录,如果用户在 1 小时后来,则会再次点击。但我不知道为什么它不起作用,每当我刷新页面时都会记录命中

我认为日期和时间函数有问题,但我不知道是什么。

这是我的点击计数器代码

if($dbqueries->Query('SELECT * FROM hits WHERE userId = ?, ip = ?', [$profileId, $ip])){
if($dbqueries->rowCount() > 0){
$row = $dbqueries->fetch();
$date = $row->date;
}
}
echo $date;
$hit = $dbqueries->Query('SELECT `date` FROM hits WHERE userId = ?, ip = ? ORDER BY DESC', [$profileId, $ip]);
if(!$hit || (new DateTime)->modify('-1 hours') > (new DateTime($date))){
echo 'Good';
$dbqueries->Query("INSERT INTO hits (`userId`, `date`, `ip`) VALUES ('{$profileId}', '{$date}', '{$ip}')");
}   

一些帮助将不胜感激

where 语法应该是

SELECT * FROM hits WHERE userId = ? AND ip = ?

SELECT `date` FROM hits WHERE userId = ? AND ip = ? ORDER BY DESC

最新更新