PHP中的无效参数foreach()

时间:2013-12-24 02:33:58

标签: php

我有一个带有foreach()的购物车来更新数量。

HTML

<form  method="post" >
<?php  while ($data2 = mysql_fetch_array( $data))  {  ?>
 <tr>
  <td> <input name="quantity" type="text" class="form-field" size="3"  value="<? echo $data2['quantity'];?>" />
  <input type="hidden" name="product_id" value="<? echo $data2['product_id']; ?>">
  </td>
  </tr>
   <? } ?>
   </form>

和我的PHP,我有

if (isset($_POST['submit_qty'])) 
{   
foreach($_POST['product_id'] as $key => $id)
{
    $item_id = $id;
    $quantity = $_POST['quantity'][$key];
    $sql2 = "update cart SET quantity = '".$quantity."' where product_id = '".$item_id."' ";
    $result2 = mysql_query($sql2) or die ("Error in query: $result2");
}

header('Location: mycart.php'); 
exit();
}   

如果我回复我的SQL查询,我得到:

警告:为foreach()提供的参数无效

可能是什么问题?

1 个答案:

答案 0 :(得分:2)

您没有将product_id作为数组传递。

尝试<input type="hidden" name="product_id[]" value="<? echo $data2['product_id']; ?>">