错误消息:删除记录时出错:您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,了解在第 1 行“1”附近使用的正确语法
删除成功但如何消除此错误消息
输出.php
mysqli_query($link, "CREATE TABLE Student (
Student_Name VARCHAR(100),
IC_Number VARCHAR(15),
Matric_Number VARCHAR(10),
PRIMARY KEY (Matric_Number)
)");
$stdname = $_POST["stdname"];
$icno = $_POST["icno"];
$matricno = $_POST["matricno"];
$data = "INSERT INTO Student (Student_Name, IC_Number, Matric_Number)
VALUES ('$stdname', '$icno', '$matricno')";
删除_form.php
<!DOCTYPE HTML>
<html>
<body>
<form action="todelete.php" method="post">
<h2>Delete Student</h2>
<select name = "dropdownlist">
<?php
$link = mysqli_connect("localhost", "root", "") or die(mysqli_connect_error());
mysqli_select_db($link, "myDataBase") or die(mysqli_error($link));
$result = mysqli_query($link, "SELECT Matric_Number FROM Student");
while($row = mysqli_fetch_array($result)){
echo "<option value ='" . $row['Matric_Number'] . "'>" . $row['Matric_Number'] . '</option>';
}
mysqli_close($link);
?>
<input type="submit" value="Delete">
</select>
<form>
<br><br>
<a href= "view_student.php">Click here to list the table</a>
</body>
</html>
todelete.php
<!DOCTYPE HTML>
<html>
<body>
<?php
$link = mysqli_connect("localhost", "root", "") or die(mysqli_connect_error());
mysqli_select_db($link, "myDataBase") or die(mysqli_error($link));
if(isset($_POST['dropdownlist'])){
$dropdownlist1 = $_POST['dropdownlist'];
$result = mysqli_query($link, "DELETE FROM Student WHERE Matric_Number = '$dropdownlist1'");
if (mysqli_query($link, $result)){
echo "Record deleted successfully";
} else {
echo "Error deleting record: " . mysqli_error($link);
}
}
mysqli_close($link);
?>
<br><br>
<a href= "view_student.php">Click here to list the table</a>
</body>
</html>
最佳答案
使用$dropdownlist
而不是$dropdownlist1
或使用
mysqli_query($link, "DELETE FROM Student WHERE Matric_Number = '".$dropdownlist1."'");
WARNING : Your code is open to SQL Injection Attack, Use Prepared Statements
关于php - 使用下拉列表从数据库中删除数据但收到错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58901414/