从 table 中删除不会删除行
Deleting from a table does not remove row
免责声明:我知道 SQL 注入,我先完成功能。
我的删除按钮似乎没有删除我在 SQL table
中的行
产品一time.php
这是我的 foreach 的输出,删除按钮下面的数字是组 ID,只是为了表明它们是唯一的。
这是删除按钮的代码,它会在点击时重定向到 clinics_buttons.vc.php。
<a href="clinics_buttons.vc.php<?php echo '?delete-coupongroup='.$rowCouponGroup['groupid']; ?>" onclick="return confirm('Delete this group?');">
<button class="btn btn-danger btn-sm full_width" data-toggle="modal">
<i class="fa fa-edit"></i>DELETE
</button>
</a>
<?php echo $rowCouponGroup['groupid']; ?>
clinics_buttons.vc.php
<?php
session_start();
$routePath = "../";
require_once($routePath . "_config/db.php");
$dbConfig = new config_db();
$db = $dbConfig->init();
$delete_coupongroup = $_GET['delete-coupongroup'];
if (isset($_GET['delete-coupongroup'])) {
$stmt = $db->prepare("DELETE FROM `product_onetime` WHERE groupid = $delete_coupongroup");
$stmt->execute();
header('Location: ' . $_SERVER['HTTP_REFERER']);
}
?>
这是product_onetimetable
我看到的是我的代码看起来像是连接在一起的,但是删除按钮不起作用。我尝试在 phpmyadmin 中手动执行 SQL,例如:
DELETE FROM `product_onetime` WHERE groupid = 5
手动操作有效,但 php/sql 无效。想要一些意见。
我的猜测是文件clinics_buttons.vc.php
根本没有执行,因为我们在问题中看到的代码在<form>
中。在这种情况下,按钮行为会覆盖 link 行为,浏览器将提交表单而不是遵循 link.
您应该能够在浏览器的开发工具的网络选项卡中看到它。
作为快速修复,将按钮从提交按钮更改为推送按钮:
<button type="button" class="btn btn-danger btn-sm full_width" data-toggle="modal">
<i class="fa fa-edit"></i>DELETE
</button>
更好的解决方案是根本不使用按钮。只需使用 CSS 样式使 link 看起来像一个按钮。或者,从外部表单标记外部删除代码,并使用 clinics_buttons.vc.php 作为表单操作为其赋予自己的表单。
免责声明:我知道 SQL 注入,我先完成功能。
我的删除按钮似乎没有删除我在 SQL table
中的行产品一time.php
这是我的 foreach 的输出,删除按钮下面的数字是组 ID,只是为了表明它们是唯一的。
这是删除按钮的代码,它会在点击时重定向到 clinics_buttons.vc.php。
<a href="clinics_buttons.vc.php<?php echo '?delete-coupongroup='.$rowCouponGroup['groupid']; ?>" onclick="return confirm('Delete this group?');">
<button class="btn btn-danger btn-sm full_width" data-toggle="modal">
<i class="fa fa-edit"></i>DELETE
</button>
</a>
<?php echo $rowCouponGroup['groupid']; ?>
clinics_buttons.vc.php
<?php
session_start();
$routePath = "../";
require_once($routePath . "_config/db.php");
$dbConfig = new config_db();
$db = $dbConfig->init();
$delete_coupongroup = $_GET['delete-coupongroup'];
if (isset($_GET['delete-coupongroup'])) {
$stmt = $db->prepare("DELETE FROM `product_onetime` WHERE groupid = $delete_coupongroup");
$stmt->execute();
header('Location: ' . $_SERVER['HTTP_REFERER']);
}
?>
这是product_onetimetable
我看到的是我的代码看起来像是连接在一起的,但是删除按钮不起作用。我尝试在 phpmyadmin 中手动执行 SQL,例如:
DELETE FROM `product_onetime` WHERE groupid = 5
手动操作有效,但 php/sql 无效。想要一些意见。
我的猜测是文件clinics_buttons.vc.php
根本没有执行,因为我们在问题中看到的代码在<form>
中。在这种情况下,按钮行为会覆盖 link 行为,浏览器将提交表单而不是遵循 link.
您应该能够在浏览器的开发工具的网络选项卡中看到它。
作为快速修复,将按钮从提交按钮更改为推送按钮:
<button type="button" class="btn btn-danger btn-sm full_width" data-toggle="modal">
<i class="fa fa-edit"></i>DELETE
</button>
更好的解决方案是根本不使用按钮。只需使用 CSS 样式使 link 看起来像一个按钮。或者,从外部表单标记外部删除代码,并使用 clinics_buttons.vc.php 作为表单操作为其赋予自己的表单。