PHP Prepared Statement删除所有记录

时间:2016-07-29 06:35:57

标签: php mysql prepared-statement

如何使用预准备语句删除PHP MySQL中表的所有内容?我是否必须使用预先准备好的声明才能安全,或者使用$deleteall = mysqli_query($conn,"DELETE FROM mytable;");使用没有区别?

这是应该如何完成的:

$stmt = $conn->prepare("DELETE FROM mytable");
$stmt->execute();

4 个答案:

答案 0 :(得分:3)

当你没有参数时,使用准备好的陈述毫无意义。

如果有效地多次执行语句(可能使用不同的参数),则存在准备语句。它们还有助于SQL注入预防:您不必记住手动应用引用和转义。但是,如果您只在没有参数的情况下运行某些东西,请不要为准备好的陈述烦恼。

答案 1 :(得分:1)

使用这种方式,它对我很好。希望它会对你有所帮助。

$stmt= 'DELETE from mytable';
$result = $conn->prepare($stmt);
$result->execute();

答案 2 :(得分:1)

您可能希望删除带有条件参数的记录,这是最好的方法:

    $sqlQuery  =  "DELETE FROM TABLE_NAME WHERE id=?";
    $statement = $this->dbLink->prepare($sqlQuery);
    $statement->bind_param("i", $memberId);
    $statement->execute();
    $statement->close();

答案 3 :(得分:0)

您可以使用TRUNCATE删除表格中的所有记录

$stmt = $conn->prepare("TRUNCATE TABLE `table1`");
$stmt->execute();

有关删除和截断的详细信息,请参阅here