我正在尝试自动化一个流程,其中库存余额(MySQL-)数据库相应地更新从库存中删除或添加的项目。 我有一个将要添加的项目数组,其中包含商品编号(ean)和数量(实际上还有我不会使用的商品名称)。我正在尝试使用foreach循环来迭代相同的进程 - 将它们添加到清单中每个更改的列表中 - 在数组中的每个项目上。
<?php
//connecting
error_reporting(0);
require 'connect.php';
//the loop
foreach ($_SESSION["cart_item"] as $temp){
//setting the variables
$ean = $temp["EAN"];
$quantity = $temp["quantity"];
//the query
$db->multi_query( '
set @EAN= ' . $ean . ';
set @Changevariable = ' . $quantity . ';
set @time = CURRENT_TIMESTAMP;
set @IDvariable = (select ID from articles where EAN=@EAN);
insert into forandring(ID, altered, dt) values (@IDvariable, @Changevariable, @time);');
} ?>
这就是数组的样子:
Array
(
[cart_item] => Array
(
[7350071190043] => Array
(
[Name] => James tea Tin - Ginger Twist
[EAN] => 7350071190043
[quantity] => 3
)
[7350071190425] => Array
(
[Name] => James tea Tin - Dream Plavour
[EAN] => 7350071190425
[quantity] => 5
)
[7350071190074] => Array
(
[Name] => James tea Tin - Jodhpur Chai
[EAN] => 7350071190074
[quantity] => 10
)
)
)
这就是表格的样子
它成功循环,但由于某种原因,只有数组中的第一项被添加到数据库中(即使循环重复&gt; 1次)。 除了查询之外,循环中的其他所有内容都是循环的。这基本上就是问题所在。
我完全清楚代码可能效率低下,但我对编程很新。