基于关联数组$ key = column $ value = value更新行

时间:2012-03-26 18:24:30

标签: php associative-array implode

我需要从POST

的关联数组构建更新查询

POST包含多个关联数组和几个键/值对

我可以理清要使用哪些数组但是仍然坚持构建更新查询字符串

array1 (
i => 1 // This is used for each WHERE clause and is the row id
a => 2
b => 3
c => 4
)

array2 (
i => 2
a => 2
b => 3
c => 4
)

我需要: “UPDATE表SET a ='2',b ='3',c ='4'WHERE id ='array [i]'”

我已经尝试了各种各样的foreach,而implode方法拼凑在一起来自其他帖子,但没有一个处理这个特定的问题。任何帮助,将不胜感激。感谢

1 个答案:

答案 0 :(得分:5)

尝试以下方法:

$id = array_shift($array);
$fields = array();

foreach($array as $field => $val) {
   $fields[] = "$field = '$val'";
}

$query = "UPDATE table SET " . join(', ', $fields) . " WHERE id = '$id'";