首页 > 解决方案 > 对于表格中的每个帖子未正确提交

问题描述

我正在尝试遍历表单并将值提交到数据库。它似乎工作,除了它试图将提交按钮本身包含到数据库中并因此引发错误(因为它在数据库中不存在) - 它仍然将其他数据提交到正确的字段。我尝试添加一个 if 语句以避免提交提交按钮值,这确实删除了它(当我打印到结果时它不显示并且不抛出错误),但它会阻止其他值提交到数据库。我尝试了以下方法:

foreach($_POST as $key =>$value){
    if($key!==='btnSubmit') {
$db->query($db->prepare("UPDATE `db-table` SET ".$key."= %s WHERE id= %d", $value, $selectedProduct));
}

任何如何解决这个问题的想法都值得赞赏。

标签: phpsql

解决方案


您可以使用 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
                )
            );
        }

}

推荐阅读