php - 使用下拉列表从数据库中删除数据但收到错误消息

标签 php html mysql

错误消息:删除记录时出错:您的 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>

tod​​elete.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/

相关文章:

php - 使用 leftjoin 显示用户在 session 中添加的数据

php - 使用 DB::table() 或 Model::all() Laravel 的 Eloquent

mysql - 从组的最大值中选择最小值

php - 如何使用 php 显示 MySQL 表并在网络浏览器中编辑它

php - 将 fetch_assoc() 数组数据写入表

php - 按日期对部落 war 排序,不显示今天之前的内容

php - 语法错误 : JSON. 解析 : unexpected non-whitespace character after JSON data what is wrong here?

javascript - 从数组更改徽章颜色

HTML/CSS - 我怎样才能让我的表格列永远不会比我指定的宽度更宽

html - 使用固定导航滚动内容