我有一个看起来像这样的数组:
Array
(
[72] => Array
(
[description] => data
[tags] => data1
[extra] => data1
[extra2] => data3
)
[71] => Array
(
[extra] => data4
[extra2] => data5
)
[73] => Array
(
[description] => data7
[tags] => data6
)
)
我想把它放到sql更新语句中。数组的第一级是我需要设置为 WHERE 子句的唯一键,其余数据是列名及其各自的值。 此数据因用户设置的内容而异。
编辑:这非常容易。
foreach($save as $id => $arr) {
$wpdb->update( $table_name, $arr, array('id' => $id));
}
然而,这不使用wpdb prepare
,这似乎是必要的。 如何操作此代码以允许wpdb-prepare
?
我在 wpdb 准备和更新上找到的唯一代码如下所示:
$rows_affected = $wpdb->query(
$wpdb->prepare("
UPDATE $table
SET ( removed, post_id, user_id, status )
VALUES ( %s, %d, %d, %d )
",
array(
$cur_date,
$postid,
$userid,
0
)
)
);
所以只是为了回答这个问题,你已经想通了
- 您可以在另一个 foreach 中使用 foreach,它将循环访问项目。
- 更新功能已经为您准备和消毒,因此无需调用WP准备功能。
快乐的日子。