【发布时间】:2026-02-15 18:55:01
【问题描述】:
我创建了一个要求激活电子邮件的登录系统。一切正常。但是,没有真正的“垃圾邮件”保护。当用户创建一个帐户时,它会插入一行,其中 'activated' = 'NO' 列。
我想这样做,如果用户没有激活他们的帐户,比如说 3 个小时,它将从 MySQL 数据库中删除该行。我做了一个 cron 作业,每 30 分钟运行一次。
<?php
ob_start();
include 'global.php';
ob_end_clean();
$check_times = (time() - ('-3 hours'));
$query = "SELECT * FROM users WHERE time<=$check_times and activated='NO'";
$result = mysql_query($query) or trigger_error(mysql_error().$query);
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$inactive_user = $row['username'];
echo $inactive_user;
echo "<br>";
echo $check_times;
?>
“global.php”正在连接到数据库。上面的代码有效,但只适用于一行(它只返回第一个实例的值)
我已经研究了“Do While”和“Loop until”以及其他任何东西,但不知道在括号中放什么……Do While(//我在这里放什么?)
目前,代码只回显实例,但我会将其更改为删除
【问题讨论】: