php - 对于表格中的每个帖子未正确提交
问题描述
我正在尝试遍历表单并将值提交到数据库。它似乎工作,除了它试图将提交按钮本身包含到数据库中并因此引发错误(因为它在数据库中不存在) - 它仍然将其他数据提交到正确的字段。我尝试添加一个 if 语句以避免提交提交按钮值,这确实删除了它(当我打印到结果时它不显示并且不抛出错误),但它会阻止其他值提交到数据库。我尝试了以下方法:
foreach($_POST as $key =>$value){
if($key!==='btnSubmit') {
$db->query($db->prepare("UPDATE `db-table` SET ".$key."= %s WHERE id= %d", $value, $selectedProduct));
}
任何如何解决这个问题的想法都值得赞赏。
解决方案
您可以使用 inarray 方法跳过 $_POST 数据中的某些字段,如下所示
$skipKeys = array(
'btnSubmit',
// add more fields if needed
);
foreach($_POST as $key =>$value){
if(!in_array($key,$skipKeys)){
$db->query(
$db->prepare(
"UPDATE `db-table` SET ".$key."= %s WHERE id= %d", $value, $selectedProduct
)
);
}
}
推荐阅读
- powershell - Powershell从不同目录复制文件
- python - 在python中寻求优化建议
- tensorflow - LSTM 模型过拟合 spx 数据?
- r - 基于 R 中规则的累积列
- kubernetes - 无法使用 ClusterIP 跨节点访问 nginx pod
- flutter - StreamBuilder 中的 Firebase 文档作者
- reactjs - 传递给子组件的反应点击处理程序不起作用
- python - 尝试从 Python 调用 MATLAB 脚本
- node.js - 如何使用 Mongoose 从模式创建模型?未捕获的 TypeError:User.create 不是函数
- javascript - 如何确定是否通过脚本 src 导入或加载了 javascript 模块?