我有一个非常简单的查询来执行。我将一堆部件插入到包中,然后保存我的包,获取其ID,然后更新我的所有部件以将包ID放入相应的字段中。
以下是我如何构建需要更新的ID列表:
$IDs = [];
foreach($packageContent as $value) {
$IDs[] = $value->ID;
}
然后,我构建我的查询并执行它:
$statement="UPDATE tbInv
SET
nPackage=:packID
WHERE nID IN( :IDsToUpdate )";
$res = $db->prepare($statement);
$res->execute(array(":packID" => $packageID, ":IDsToUpdate" => implode(",", $IDs)));
我在包中放了两件物品。 ID 38和39.如果我执行file_put_contents来追踪我的内爆(“,”,ID),我可以清楚地看到38,39。问题是:它只更新第38行。第39行没有更新。
有人能指出我的(可能是明显的)错误吗?它对我来说没有任何意义,我已经习惯了MS SQL Server和.net windows应用程序... Web开发对我来说是新的,更不用说PHP了。
谢谢,