【发布时间】:2019-09-20 04:54:05
【问题描述】:
我正在开发一个点击计数器,当用户访问该页面时将记录一次点击,如果用户在 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}')");
}
我们将不胜感激
【问题讨论】:
-
这里有 SQL 语法错误:
WHERE userId = ?, ip = ?应该是WHERE userId = ? and ip = ?