我想要獲得一個表格來刪除表中的行,但我正在做的一切,但行刪除。它清除表中的所有值,但不會刪除行或ID。我試圖做出這種MySQL不刪除記錄
PHP腳本
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Setting up the Database Connection
$servername = "localhost";
$username = "root";
$password = "Fh3dSWIWCLd4";
$dbname = "servers";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//Capturing the POST Data
$id = $_POST['id'];
$sql = "DELETE FROM sv_info WHERE id='$id' LIMIT 1";
// Executing the SQL statement
if ($conn->query($sql) === TRUE) {
header("Location:http://osgaming.joec.pw/login/");
} else {
echo "Error: " . $sql . "
" . $conn->error;
}
// Closing the database connection
$conn->close();
}
?>
HtmlForm控件
<?php include 'sql-dbsv-del.php'; ?>
<h2><b class="e">Delete Entries</b></h2>
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" class="form-group">
<label for="id">Database ID</label>
<input type="number" name="id" class="form-control" placeholder="Database ID"><br />
<input type="submit" value="Delete Entry" class="btn btn-danger">
</form>
https://gyazo.com/ca3f10f862b3993f5d716cb49242304b 有一個形象它是做什麼的變量在數據庫
「ID」列是「字符串」還是「整數」?如果它是一個整數,你應該設置'id = 4',否則'id ='4''如果它是一個字符串。 – Ohgodwhy
使用預處理語句而不是直接將參數注入查詢。這個''DELETE FROM sv_info WHERE id ='。$ id。' LIMIT 1「;'讓你的系統容易受到SQL注入攻擊。 –
Echo $ sql並查看是否發佈了id。 –