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