【发布时间】:2015-12-25 15:52:51
【问题描述】:
如果我只输入 1 条记录。它只在数据库中保存了 1 条记录,这很好。 但是如果我把相同字段的两条记录放在一起。它在数据库中保存了多条记录,应该只有两条。我做错了什么?
<td>1.<input name='Description[]' type='text' required></td>
<td><input type='text' name='Unit[]' placeholder='eg. reams,pcs,box' required></td>
<td><input type='number' name='Quantity[]' min='1' required></td>
<td><input type='number' name='Cost[]' min='1' required></td>
</tr>
我有一个可以再次添加这些字段的脚本。
代码如下:
foreach ($_POST["Description"] as $Description )
{
foreach ($_POST["Unit"] as $Unit)
{
foreach ($_POST["Quantity"] as $Quantity)
{
foreach ($_POST["Cost"] as $Cost)
{
$array = array($Description,$Unit,$Quantity,$Cost);
odbc_exec($conn, "INSERT INTO MRF_Request (Qty,Unit,Description,Cost) VALUES
('$Quantity' , '$Unit' , '$Description' , '$Cost')");
}
}
}
}
【问题讨论】:
-
具体针对哪个领域?
-
您不应该将所有的 foreach 都嵌套。有一个 for 循环就足够了
-
如果该表单将被公开使用,那么您真的必须转义输入以防止 sql 注入!
标签: php arrays post odbc sql-insert