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

问题描述 投票:-1回答:1

我试图创建一些代码来自动删除我的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();

    ?>
php mysql sql-delete
1个回答
-1
投票

试试这个伙计:)

<?php
  
	function apaga(){
     $conexao = mysqli_connect("localhost", "root", "", "fct");

    if($conexao->connect_error){

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

 }

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

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

      $id=$row['id'];

      $sql= "DELETE FROM mostra1 WHERE data < (NOW() - INTERVAL 1 MINUTE)";

      mysqli_query($conexao,$sql);

  }


}


apaga();

?>

-1
投票

你的数据库可能在安全模式下运行。 试着在删除前添加相当于这个SQL的PHP脚本。

set SQL_safe_updates = 0;

然后在删除之后。

set SQL_safe_updates = 1;

© www.soinside.com 2019 - 2024. All rights reserved.