php - 收到 'Unknown table ' #' in MULTI DELETE' 错误

标签 php mysql mysqli

我目前有一个数据库,其中有一个名为 rooms 的表;它有两个属性:roomID 和 roomType。我已经使用 MySql 将数据插入其中,一切都很好。我使用 PHP 和 MYSQL 来显示页面上数据库中当前的内容(工作正常),然后是一个 delete.php 页面,其中有一个房间 ID 和房间类型的文本字段。我希望从“rooms”表中删除我喜欢的任何内容,但是我不断收到“MULTI DELETE”错误中的未知表“roomid”,即使我只有一张表。

下面是我当前的 PHP

<?php
include ('connect.php');

if(isset($_POST['roomID'])){

$roomID = $_POST['roomID'];
$roomType = $_POST['roomType'];

$sql = "DELETE FROM rooms WHERE roomID='"$roomID"' AND roomType='"$roomType"' ";
if ($conn->query($sql) === TRUE) {
    echo "Record deleted successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

}

?>

非常感谢任何帮助

最佳答案

警告!

Little Bobby your script is at risk for SQL Injection Attacks. 。偶escaping the string不安全!

问题是这样的 -

如果您使用了准备好的语句,您就不必担心如何正确连接变量。查询行的以下部分缺少正确的串联:

WHERE roomID='"$roomID"' AND roomType='"$roomType"'

关于php - 收到 'Unknown table ' #' in MULTI DELETE' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43457376/

相关文章:

python - 稍后如何更新MySQL Row?

php - 字段列表中的未知列。

php - if/else 与 Heredoc 的行为不符合预期

PHP PDO 不插入新记录

PHP & MySQL 如何显示数据库中的类别和子类别

php - mysqli_stmt::bind_result():绑定(bind)变量的数量与准备语句中的字段数量不匹配

PHP stmt prepare失败,但是没有错误

php - 除以零误差

php - 如何将 PHP 数组编码为 JSON 数组,而不是对象?

php - 如何比较两个数据库之间的 mysql 表并有效地更新差异?