php - 如何批量删除问题

标签 php mysql

假设我手里有 30 个问题。 我想一次删除这30个问题。 但有一些编码错误,如果您能帮助我,我将不胜感激

public function Clear()
    {
        $stmt = $this->db->prepare("SELECT id FROM ask_data WHERE standart=0");
        $stmt->execute();

        if ($stmt->rowCount() > 0)
        {
            $ask_cnt = $stmt->rowCount();

            $ask_data = array();

            while ($row = $stmt->fetch())
            {
                $data = array("ask_id" => $row['id']);
                $stmt2 = $this->db->prepare("DELETE FROM  id FROM questions WHERE ask_id=(:ask_id)");
                $stmt->bindParam(':ask_id', $ask_data[$i], PDO::PARAM_INT);
                $stmt2->execute();  
            }
            $i = 0;
            $count = count($ask_id);

            for ($i=0;$i<$count;$i++)
            {
                $data = array("ask_id" => $row['id']);
                $stmt2 = $this->db->prepare("DELETE FROM  id FROM questions WHERE ask_id=(:ask_id)");
                $stmt->bindParam(':ask_id', $ask_data[$i], PDO::PARAM_INT);
                $stmt2->execute();
            }
        }
    }

最佳答案

delete 语句是错误的 - 您有两个 from 子句。您应该删除FROM id:

DELETE FROM questions WHERE ask_id=(:ask_id)

话虽如此,您可以通过使用 IN 运算符而不是单独的查询来极大地简化您的程序:

DELETE FROM questions
WHERE ask_id IN (SELECT id 
                 FROM   ask_data
                 WHERE  standart = 0)

关于php - 如何批量删除问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27884362/

相关文章:

php - 如何使用不同的数据库条目达到特定值(整数)?

php - 如何在 PHP Google App Engine 中使用 Composer

php - code igniter - 如何在我的数据库 mysql/php 中保存图像

mysql - 如何为多人的日程制作一个mysql View ?

mysql - 将这个带有 HABTM 相关数据的巨大查询转换为 CakePHP 查找

php - mysql_fetch_array()期望参数1是给定 bool 值的资源 bool 值

php - Laravel 作业队列死锁与多个队列守护进程

PHP Bootstrap 为不同的网格大小结束一行

php - 比较 mysql where 子句中的日期是否相同

php - 在我的情况下避免循环内的查询