我的$ _POST数组是这样的:(特别是“child_address”)的MySQL/PHP更新许多到许多表
Array (
[0] => Array (
[child_address] => 123 Street 1
)
[1] => Array (
[child_address] => 123 Street 2
)
)
当我遍历它们插入到MySQL的许多一对多表,我的数组中的最后一个值被输入到我的表中具有相同ID的所有字段中。
foreach ($child as $value) {
$query = "UPDATE M_children
SET child_address = ?,
WHERE personal_id = ?";
$statement = $db->prepare($query);
$statement->bind_param('si', $value['child_address'], $_SESSION['mysqlID']);
$statement->execute();
}
好抓!但'改变查询'到什么?或“最后一个参数”是什么?一点解释会非常有帮助! – kaza
您希望您的WHERE子句缩小更新范围,以便仅更改单个子项的行。如果'personal_id'不是孩子的唯一标识符,那么这不是你想要使用的。它看起来像'id'是独一无二的,所以你应该使用它。 – MorbidGnome
你可以把评论放入你的答案吗? – kaza