我目前正在创建一个网页,使用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>';
}
}
?>
答案 0 :(得分:0)
请检查 此变量值:$ ename = $ _ POST [“ ename”]; 要么 尝试使用此变量: $ ename = $ _ GET [“ ename”];
或 请在事件名称前加上静态名称并进行检查
答案 1 :(得分:0)
这可能与您正在解析的值有关..或与数据类型有关..请检查您的传递值并使用trim()函数将其删除为空白
$ ename = trim($ _ POST [“ ename”]);
然后,如果ename字段为字符串,则必须用单引号引起来。像下面一样
$ sql =“从事件中删除,其中ename ='$ ename'”;