フォーム (動的に作成されたフィールド) からデータを取得するループを作成しようとしています。次に、各ループで、そのフィールドのグループをデータベースの新しい行に送信します。ループ用に次のコードがあります。
エラーは発生しません。データベースに追加されないだけです。ループと [$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));
}