php - 无法从表中删除一条特定记录
问题描述
我目前对搜索感到沮丧,没有文章可以帮助我。我只想删除一行或记录,但我最终删除了表格上的整条记录
<?php
// include database connection file
$databaseHost = 'localhost';
$databaseName = 'ceksaldo';
$databaseUsername = 'root';
$databasePassword = '';
$conn = mysqli_connect($databaseHost, $databaseUsername, $databasePassword, $databaseName);
// Get id from URL to delete that saldo
$id = $_GET['id'];
// Delete saldo row from table based on given id
//$result = mysqli_query($mysqli, "DELETE FROM saldo WHERE id=$id");
$result ="DELETE FROM saldo WHERE id";
if (mysqli_query($conn, $result)) {
echo "Record deleted successfully";
} else {
echo "Error deleting record: " . mysqli_error($conn);
}
mysqli_close($conn);
// After delete redirect to Home, so that latest saldo list will be displayed.
echo "<a href=index.php>Home</a>"
?>
我希望它自动删除特定数据。我在一些文章中发现他们使用 id 号来删除记录。知道我做错了什么吗?
解决方案
$result ="DELETE FROM saldo WHERE id";
没有说 id 应该是什么。这将删除每一行!
您应该将查询更新为此,指定要删除的记录。
$result ="DELETE FROM saldo WHERE id = $id";
更大的问题是,在您的代码图片中,您没有 ' id
' 列,因此您需要将查询与唯一标识每一行的内容联系起来。您可能需要更新您的表格,或者您可能没有向我们展示整个表格。
警告
Little Bobby说您的脚本面临 SQL 注入攻击的风险。了解MySQLi的预处理语句。即使转义字符串也不安全!
推荐阅读
- java - 有没有办法用 tomcat 实现 X-Robots-Tag 指令?
- google-analytics - 网站添加到谷歌分析帐户时未填充数据
- c# - 如何使用列表视图显示该安全组中的安全组和用户?
- javascript - 由于使用 onClick 的 textarea 的数据中有空格,因此无法显示 Bootstrap Modal 上的数据
- java - validateOrThrow 实现
- javascript - 将文件从一台设备发送到另一台设备。两台设备都连接到同一个 wi-fi 网络
- mongodb - 配置副本集mongo从localhost到ip
- java - Java Clock 类不给我当前时间
- django - 保持 Django 视图干净的上下文管理器?
- javascript - Unit test Material UI styles