我目前有一个名为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;
}
}
?>
非常感谢任何帮助
答案 0 :(得分:1)
Little Bobby说 your script is at risk for SQL Injection Attacks. 。即使escaping the string也不安全!
如果只使用过预备语句,则不必担心正确连接变量。查询行的以下部分缺少正确的串联:
WHERE roomID='"$roomID"' AND roomType='"$roomType"'