提问者:小点点

如何使用PHP自动删除mysql表中的所有记录?


我试图创建一些代码来自动删除我的mysql表中的所有记录,我已经在一个较旧的项目中完成了,但在这种情况下,当我使用完全相同的脚本时,它就不工作了。 我试图使它在60秒后删除,只是为了测试,但我一定做错了什么。

所有的帮助都得到了很大的回报

我的代码:

<?php
    function apaga(){

     $dbconn = mysqli_connect("localhost", "root", "", "fct");

     if($dbconn->connect_error){

         die("Falha ao conectar ao servidor: ".$dbconn->connect_erro);

     }

    $queryselect=$dbconn->query("SELECT * FROM mostra1 ")or die(mysqli_error($dbconn));

    while($row=$queryselect->fetch_assoc()){

        $id=$row['id'];

    $sql= "DELETE * FROM mostra1 WHERE `data` < (NOW() - INTERVAL 60 SECONDS)";


    mysqli_query($dbconn,$sql);

     }
    }

    apaga();

    ?>

共1个答案

匿名用户

您的数据库可能正在安全模式下运行。 尝试在delete之前添加此SQL的PHP等价物:

设置SQL_safe_updates=0;

则在删除之后:

设置SQL_safe_updates=1;