如何使用预准备语句删除PHP MySQL中表的所有内容?我是否必须使用预先准备好的声明才能安全,或者使用$deleteall = mysqli_query($conn,"DELETE FROM mytable;");
使用没有区别?
这是应该如何完成的:
$stmt = $conn->prepare("DELETE FROM mytable");
$stmt->execute();
答案 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