我正在尝试创建一个循环,该循环将从表单中获取数据(动态创建的字段)。然后在每个循环中将该组字段提交到数据库中的新行。我有以下循环代码。
它不会给出任何错误,只是不会添加到数据库中。我尝试了一个没有循环和 [$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));
}