如何使用 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();


    ?>


慕姐8265434
浏览 116回答 2
2回答

梦里花落0921

试试这个伙伴 :)<?php&nbsp;&nbsp;&nbsp; &nbsp; function apaga(){&nbsp; &nbsp; &nbsp;$conexao = mysqli_connect("localhost", "root", "", "fct");&nbsp; &nbsp; if($conexao->connect_error){&nbsp; &nbsp; &nbsp;die("Falha ao conectar ao servidor: ".$conexao->connect_erro);&nbsp;}&nbsp; &nbsp; $queryselect=$conexao->query("SELECT * FROM mostra1")or die(mysqli_error($conexao));;&nbsp; &nbsp;while($row=$queryselect->fetch_assoc()){&nbsp; &nbsp; &nbsp; $id=$row['id'];&nbsp; &nbsp; &nbsp; $sql= "DELETE FROM mostra1 WHERE data < (NOW() - INTERVAL 1 MINUTE)";&nbsp; &nbsp; &nbsp; mysqli_query($conexao,$sql);&nbsp; }}apaga();?>

波斯汪

您的数据库可能正在安全模式下运行。尝试在删除之前添加与此 SQL 等效的 PHP:设置 SQL_safe_updates = 0;然后删除后:设置 SQL_safe_updates = 1;
打开App,查看更多内容
随时随地看视频慕课网APP