Php 更新列的所有行只返回foreach循环中的最后一个值
我想用foreach循环更新数据库的特定列。但它只更新列中数组的最后一个元素Php 更新列的所有行只返回foreach循环中的最后一个值,php,sql,database,foreach,Php,Sql,Database,Foreach,我想用foreach循环更新数据库的特定列。但它只更新列中数组的最后一个元素 foreach ($_POST['matricule'] as $matricule) { $query_update = $conn -> prepare("UPDATE dates_precedentes SET matricule = ?"); $query_update -> execute([$matricule]); } 我的桌子 print\r的输出($\u POST
foreach ($_POST['matricule'] as $matricule) {
$query_update = $conn -> prepare("UPDATE dates_precedentes SET matricule = ?");
$query_update -> execute([$matricule]);
}
我的桌子
print\r的输出($\u POST['matricule'])
您需要在查询中添加where条件,否则所有行都将使用相同的值进行更新如果您在
更新
中不使用where
子句,则每一行都将被更新一小点准备应该在循环之外,您不需要每次都准备相同的查询loop@RiggsFolly一个人可以用不同的参数多次执行同一个准备好的查询?@Cid是的,这就是为什么我说它可以放在循环之上,只执行一次