使用事件名而不是ID删除记录

时间:2018-11-19 04:37:21

标签: php mysql

我目前正在创建一个网页,使用php通过使用表中的名称列而不是ID来删除表中的数据。但是当我将输入作为事件名称输入时,它不会被删除。

<?php
    session_start();
    $servername = "localhost";
    $username = "database_admin";
    $password = "Veritasirum123";enter code here
    $dbname = "workflow";
    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);

    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    } 
    ?>


            <?php

            if(isset($_POST['submit'])){
                $ename=$_POST["ename"];
            $sql="DELETE from event where ename=$ename";



    if ($conn->query($sql) === TRUE) {
       echo '<script language="javascript">';
        echo 'alert("Event Deleted Successfully")';
        echo '</script>';
    } else {
        echo '<script language="javascript">';
        echo 'alert("Event Deletion Failed")';
        echo '</script>';
    }
    }
    ?>

2 个答案:

答案 0 :(得分:0)

请检查 此变量值:$ ename = $ _ POST [“ ename”]; 要么 尝试使用此变量: $ ename = $ _ GET [“ ename”];

或 请在事件名称前加上静态名称并进行检查

答案 1 :(得分:0)

这可能与您正在解析的值有关..或与数据类型有关..请检查您的传递值并使用trim()函数将其删除为空白

$ ename = trim($ _ POST [“ ename”]);

然后,如果ename字段为字符串,则必须用单引号引起来。像下面一样

$ sql =“从事件中删除,其中ename ='$ ename'”;