15分钟后删除记录

Pet*_*ter 2 php mysql timestamp sql-delete

我有一个不活跃的系统.它应该在15分钟后从非活动表中删除用户.我还有一个代码,如果在该表中找不到该用户,则将该用户记录下来.非活动脚本在每次刷新页面时更新用户.

这是我尝试的非活动代码,到目前为止它不起作用:

$result = mysqli_query($con,"SELECT * FROM inactive");

while($row = mysqli_fetch_array($result))

if ($row['inactive'] > timestampadd(MINUTE, -15, now()))
  {



    }else {

$db_query = "DELETE FROM inactive WHERE username='$username'";
$result = mysql_query($db_query);


    }
Run Code Online (Sandbox Code Playgroud)

Cod*_*gry 7

CREATE EVENT IF NOT EXISTS `remove_inactives`
ON SCHEDULE EVERY 15 MINUTE
ON COMPLETION PRESERVE
ENABLE
DO
    DELETE FROM `inactive`
        WHERE `timestamp` < DATE_SUB(NOW(), INTERVAL 15 MINUTE)
;
Run Code Online (Sandbox Code Playgroud)

^使用一组并忘记重复发生的MySQL事件. 让服务器为你工作:)

对于PHP:

mysqli_query($connection, // or mysql_query(
<<<SQL
    CREATE EVENT IF NOT EXISTS `remove_inactives`
    ON SCHEDULE EVERY 15 MINUTE
    ON COMPLETION PRESERVE
    ENABLE
    DO
        DELETE FROM `inactive`
            WHERE `timestamp` < DATE_SUB(NOW(), INTERVAL 15 MINUTE)
    ;
SQL;
); // ends *_query() call
Run Code Online (Sandbox Code Playgroud)

你只需要运行这个就可以在服务器上安装!