重複の可能性:
1 時間前から選択する SQL クエリ?
私の現在の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);