0

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

它不会给出任何错误,只是不会添加到数据库中。我尝试了一个没有循环和 [$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));

      }
4

0 回答 0