0

フォーム (動的に作成されたフィールド) からデータを取得するループを作成しようとしています。次に、各ループで、そのフィールドのグループをデータベースの新しい行に送信します。ループ用に次のコードがあります。

エラーは発生しません。データベースに追加されないだけです。ループと [$key] を使用しない簡易バージョンを試してみたところ、機能し、1 行追加されました。したがって、データベースへの接続は問題なく機能していることがわかります。

[$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