Bootstrap模态框表单提交后Update更新查询无法执行问题求助
核心问题及修复方案
1. PHP代码中$_POST参数名错误(更新不执行的核心原因)
你在获取POST提交的参数时,所有键名都多加了多余的$符号,表单提交的字段名是不带$的,错误写法会导致所有参数获取为空,UPDATE语句匹配不到对应house_id自然不会生效。修正所有参数获取逻辑即可:
// 修正后的参数获取代码 $house_id = $_POST['house_id']; $house_name = $_POST['house_name']; $house_landlord = $_POST['house_landlord']; $house_location = $_POST['house_location']; $house_commission = $_POST['house_commission']; $house_service_charge = $_POST['house_service_charge']; $house_siku_added = $_POST['house_siku_added'];
2. header跳转前存在输出导致跳转失效
你在header("Location:listhouses.php")之前输出了<script>alert(...)</script>代码,PHP的header跳转要求执行前不能有任何输出内容,否则跳转失败。如果需要保留提示,可以改用JS实现跳转+提示:
if($sqlQuery){ echo '<script> alert("Record was updated successfully."); location.href="listhouses.php"; </script>'; }
3. 表单标签存在冗余语法错误
你的表单代码写的是<form class="form-sample" form action="updatehouse.php" method="POST">,多了一个多余的form属性,修正为:
<form class="form-sample" action="updatehouse.php" method="POST">
调试建议
如果修改后仍有问题,可以在updatehouse.php的if(isset($_POST["submit"]))代码块第一行加var_dump($_POST);exit;,查看提交的参数是否正确;也可以在SQL执行失败时输出具体报错定位问题:
else{ echo '<script> alert("Data not updated: '.mysqli_error($connection).'"); </script>'; }
额外提示:当前SQL直接拼接用户输入存在SQL注入风险,建议改用mysqli预处理语句执行更新操作,避免安全问题。
内容的提问来源于stack exchange,提问作者pmuyoti
相关产品推荐
相关产品推荐

