Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 更新列的所有行只返回foreach循环中的最后一个值_Php_Sql_Database_Foreach - Fatal编程技术网

Php 更新列的所有行只返回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循环更新数据库的特定列。但它只更新列中数组的最后一个元素

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是的,这就是为什么我说它可以放在循环之上,只执行一次