0

私は次のような配列を持っています:

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

これをsqlupdateステートメントに入れたいと思います。配列の最初のレベルは、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
            )
        )
    );
4

1 に答える 1

0

だからこれに答えるために、あなたはそれを理解しました

  1. foreachを別のforeachで使用すると、アイテムを反復処理できます。
  2. update関数はすでに準備とサニタイズを行っているため、wpprepare関数を呼び出す必要はありません。

幸せな日々。

于 2013-02-06T18:34:35.647 に答える