例如,我有一个数据输入程序,我想在输入数据 1 天后自动删除我的数据。我怎么做?
有人可以用代码解释一下吗?
Create.php 将这些值发送到服务器
<form action="" method="post" enctype="multipart/form-data">
<input type="text" name="name_portofolio">
<textarea name="info_portofolio"></textarea>
<input type="file" accept="image/*" name="picture_portofolio">
<button type="submit" name="submit">Save</button>
</form>
Run Code Online (Sandbox Code Playgroud)
函数-add.php
<?php
function create_data($name_portofolio, $info_portofolio,
$picture_portofolio)
{
global $connect;
$name_portofolio = mysqli_real_escape_string($connect, $name_portofolio);
$info_portofolio = mysqli_real_escape_string($connect, $info_portofolio);
$filePath = "picture/".basename($picture_portofolio["name"]);
move_uploaded_file($picture_portofolio["tmp_name"], $filePath);
$query = "INSERT INTO portofolio
(name_portofolio, info_portofolio, picture_portofolio)
VALUES ('$name_portofolio', '$info_portofolio', '$filePath')";
if(mysqli_query($connect, $query))
{
return true;
}else{
return false;
}
} // create_data
Run Code Online (Sandbox Code Playgroud)
数据库文件
<?php
$host = "127.0.0.1";
$user = "root";
$password = ""; …
Run Code Online (Sandbox Code Playgroud) 我试图在MySQL数据库中删除过期的条目,在创建或更新名为lastBeat的字段时使用CURRENT_TIME进行更新,并使用以下查询来检查/删除超过20秒的行:
DELETE * FROM `rmachines` WHERE
`lastBeat` < (NOW() - 20);
Run Code Online (Sandbox Code Playgroud)
我也尝试过CURRENT_TIME而不是NOW()
有2个主循环:
每秒更新rmachines中的一行
执行删除查询
如果2快速执行,当时间滚动到下一分钟(即59-60秒)时,它会删除该行,就像它已经过期一样(即使它确实没有!),否则它表现良好.
如果2每秒执行一次这不是那么明显,那么"错误到期"很少发生,但我每秒运行5次以暴露"问题".
我找到了一个解决方案,经过测试并且似乎在相同的情况下工作:
但谁能告诉我为什么我的方法不起作用?