0

我有一个看起来像这样的数组:

Array
(
    [72] => Array
      (
        [description] => data
        [tags] => data1
        [extra] => data1
        [extra2] => data3
      )
    [71] => Array
      (
        [extra] => data4
        [extra2] => data5
      )
    [73] => Array
      (
        [description] => data7
        [tags] => data6
      )
)

我想把它放到一个 sql update 语句中。数组的第一级是我需要设置到 WHERE 子句的唯一键,其余数据是具有各自值的列名。此数据因用户设置而异。

编辑:这非常容易。

foreach($save as $id => $arr) {
    $wpdb->update( $table_name, $arr, array('id' => $id));
}

然而,这并不使用wpdb prepare,这似乎是必要的。如何操纵此代码以允许wpdb-prepare

我在 wpdb prepare 和 update 上找到的唯一代码如下所示:

$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
            )
        )
    );
4

1 回答 1

0

所以只是为了回答这个问题,你已经想通了

  1. 您可以在另一个 foreach 中使用 foreach ,它会遍历项目。
  2. 更新功能已经为您准备和消毒,因此无需调用 wp 准备功能。

快乐的时光。

于 2013-02-06T18:34:35.647 回答