PHP foreach SQL插入

PHP foreach SQL插入,php,sql,post,foreach,Php,Sql,Post,Foreach,我试图创建一个循环,从表单(动态创建的字段)获取数据。然后在每个循环中,将该组字段提交到数据库中的新行。我有以下循环代码 它没有给出任何错误,只是没有添加到数据库中。我尝试了一个没有循环和[$key]的简化版本,它可以工作并添加了一行。因此,我知道与数据库的连接很好,并且工作正常 带有[$key]的字段是动态创建的字段。任何关于修复此代码的帮助都将不胜感激 谢谢! 嗯 SQL查询: foreach($_POST['itemNameData'] as $key => $val)

我试图创建一个循环,从表单(动态创建的字段)获取数据。然后在每个循环中,将该组字段提交到数据库中的新行。我有以下循环代码

它没有给出任何错误,只是没有添加到数据库中。我尝试了一个没有循环和[$key]的简化版本,它可以工作并添加了一行。因此,我知道与数据库的连接很好,并且工作正常

带有[$key]的字段是动态创建的字段。任何关于修复此代码的帮助都将不胜感激

谢谢! 嗯

SQL查询:

    foreach($_POST['itemNameData'] as $key => $val)
          {
   //Data from dynamic form fields
   $fields[] = array(
      'itemNameData' =>$_POST['itemNameData'] [$key],
      'itemHref' =>$_POST['itemHref'] [$key],
      'itemImg' =>$_POST['itemImg'] [$key],
      'itemPrice' =>$_POST['itemPrice'] [$key] );

    //Data fields not in form
       $userId = "username";
       $userIp = "127.0.0.1";
       $itemSite = "1";
       $itemType = "shirt";
       $success = "yes";

    /**** INSERT data ****/
    $sql = "INSERT INTO userItems   (userId,itemHref,itemImg,itemPrice,itemNameData,userIp,itemSite,itemType) VALUES (:userId,:itemHref,:itemImg,:itemPrice,:itemNameData,:userIp,:itemSite,:itemType)";
      $q = $conn->prepare($sql);
      $q->execute(array(':userId'=>$userId,
                         ':itemHref'=>$itemHref[$key],
                         ':itemImg'=>$itemImg[$key],
                         ':itemPrice'=>$itemPrice[$key],
                         ':itemNameData'=>$itemNameData[$key],
                         ':userIp'=>$userIp,
                         ':itemSite'=>$itemSite,
                         ':itemType'=>$itemType));

      }

不应该是
”:例如,itemImg'=>$fields['itemImg']
;)如果您的意思是:$q->execute(数组(':itemImg=>$fields['itemImg']),我尝试过,但它仍然没有插入到数据库中。还有其他建议吗?不仅是针对itemImg…而且,您可以检查发送给执行的值?类似于:
print\r(数组)的内容(':userId'=>$userId':itemHref'=>$itemHref[$key],':itemImg'=>$itemImg[$key],':itemPrice'=>$itemPrice[$key],':itemNameData'=>$itemNameData[$key],':userIp'=>$userIp':itemSite'=>$itemSite':itemType'=>$itemType));