Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用php自动删除mysql表中的所有记录?_Php_Mysql_Sql Delete - Fatal编程技术网

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

如何使用php自动删除mysql表中的所有记录?,php,mysql,sql-delete,Php,Mysql,Sql Delete,我试图创建一些代码来自动删除mysql表中的所有记录,我在一个较旧的projet中完成了这项工作,但在本例中,当我使用完全相同的脚本时,它不起作用。 我试图让它删除60秒后只是为了测试,但我一定是做错了什么 所有的帮助都是非常感谢的 我的代码: <?php function apaga(){ $dbconn = mysqli_connect("localhost", "root", "", "fct"); if($dbconn->connect_err

我试图创建一些代码来自动删除mysql表中的所有记录,我在一个较旧的projet中完成了这项工作,但在本例中,当我使用完全相同的脚本时,它不起作用。 我试图让它删除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();

    ?>

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

设置SQL\u safe\u updates=0

然后在删除之后:

设置SQL\u safe\u updates=1

试试这个伴侣:


我试图让它在60秒后删除不,你删除60秒以上的行,然后立即删除。如果你真的想删除表中的所有内容,你需要的是truncate SQL命令。使用diemysqli_error$conn是一个非常糟糕的主意;因为它可能会泄露敏感信息。更多解释请看这篇文章:非常感谢你救了我的命!!!!我对你感激不尽: