假设我手里有 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/