gpt4 book ai didi

PHP + MySql Cron Job,删除超过 1 小时的行

转载 作者:行者123 更新时间:2023-11-29 14:09:32 25 4
gpt4 key购买 nike

Possible Duplicate:
Sql query to select from 1 hour ago?

我当前的 cron 作业脚本会从数据库中删除所有行,如果用户想在 cronjob 运行时重置密码,这不太好,当行添加到数据库时我如何检查 mysql,这样就只删除那些行在那里呆了超过 1 小时吗?

我的 cron_reset.php

<?php
require_once('mysql_config.php');
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if(!$link)
{
die('Failed to connect to server: ' . mysql_error());
}

$db = mysql_select_db(DB_DATABASE);
if(!$db)
{
die("Unable to select database");
}


function clean($str)
{
$str = @trim($str);
if(get_magic_quotes_gpc())
{
$str = stripslashes($str);
}
return mysql_real_escape_string($str);
}

$password = clean($_GET['password']);
if($password != $cron_password)
{
die('Access Denied');
}
else
{
$qry = "DELETE FROM cron_reset";
$result = mysql_query($qry);
if($result)
{
die('Success');
}
else
{
die(mysql_error());
}
}
?>

这一行将电子邮件+重置代码添加到数据库

            $qry = "INSERT INTO cron_reset(email, code) VALUES('$email','$code')";
$result = @mysql_query($qry);

最佳答案

在数据库模式中,您必须添加一个新列来存储需求时间(例如 ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP),并在查询中添加一个 where 子句(WHERE ts < NOW()- INTERVAL 1 小时)

关于PHP + MySql Cron Job,删除超过 1 小时的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13735744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com