php - 如何每隔15分钟从MySQL表中删除一条数据?

标签 php mysql pdo

我现在在线有一个表调用。该表包含onlineId(INT)、onlineIP(INT) 和 onlineDateTime(TimeStamp)。每次客户端访问站点时都会插入该表,并且每次刷新页面时都会更新 onlineDateTime。

所以问题是当 onlineDateTime + 15 分钟时如何从 onlinenow 表中删除数据示例:

我在 08:00 访问该网站并关闭浏览器,这样 onlineDateTime 将不再更新,并在 08:15 后删除数据

这是我现在在线处理插入和更新表的代码:

if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
$errMsg = '';
if(empty($errMsg)) {
    try {   
            $check = $connect->prepare("SELECT * FROM onlinenow WHERE onlineIP = '$ip'");
            $check->execute();
            $dataonline = $check->fetch(PDO::FETCH_ASSOC);
            if ($dataonline == true) {
                $stmt = $connect->prepare("UPDATE onlinenow SET onlineDateTime = '$naw' WHERE onlineIP = '$ip'");
                $stmt->execute();
            }else{
                $stmt = $connect->prepare('INSERT INTO onlinenow (onlineIP, onlineDateTime) VALUES (:onlineIP, :onlineDateTime)');
                $stmt->execute(array(
                    ':onlineIP' => $ip,
                    ':onlineDateTime' => $naw
                    ));
            }

        }
    catch(PDOException $e) {
            $errMsg = $e->getMessage();
        }
}

我必须做什么才能解决这个问题?

谢谢

最佳答案

您需要编写一个文件,在其中添加删除记录的功能。

然后,将该文件添加到您的 cpanel -> cron 作业 -> 设置每 15 分钟运行一次

您可以在该界面添加您的电子邮件,以便每执行 15 分钟 cron 作业后,记录就会被删除,并且将向您的电子邮件发送一封电子邮件。

关于php - 如何每隔15分钟从MySQL表中删除一条数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44277463/

相关文章:

php - MySQL WHERE something = $something 和 $something = 默认情况下的每个值

javascript - iTop,在哪里实现onchange javascript?

java - 如何在服务器上运行java程序?

php - 在编码mysql数组之前有一个数组

mysql - 如何保证MySQL复制SLAVE与复制MASTER完全同步?

php - 更改 Magento 配置以使用套接字

php - Laravel 5.4 和 office365 公司邮箱

php - 如何将自定义类与 silex ServiceProvider 一起使用

php - 具有 pdo 的数据库类,在继承时不应重新启动连接

php - 调用非对象上的成员函数bindParam()