得到一张未知的表'#'在MULTI DELETE'错误

时间:2017-04-17 18:35:17

标签: php mysql mysqli

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

以下是我目前的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;
}

}

?>

非常感谢任何帮助

1 个答案:

答案 0 :(得分:1)

警告!

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

这是问题所在 -

如果只使用过预备语句,则不必担心正确连接变量。查询行的以下部分缺少正确的串联:

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