0

こんにちはワードプレス初心者です。where in$wpdbを更新するために使用する方法を知りたいです。ID('1' , '2')

これが私のコードです:

 $ids = 1,2,3,4,5;
 $wpdb->query( $wpdb->prepare( 
          "
          UPDATE $wpdb->subcategory SET status = 0
          WHERE subcategory_id IN ( %s )
          ", 
          $ids
 ) );

このコードを試してみましたが、最初に更新しただけですid(1)。

前もって感謝します :)

4

2 に答える 2

0

値を引用してみてください$ids

$ids = "1,2,3,4,5";

次に、sprintf()関数を使用します。

$wpdb->query( sprintf( "UPDATE %s SET status = 0
                                        WHERE subcategory_id IN ( %s )", 
                                        $wpdb->subcategory, $ids  
                                     ) //sprintf
            ); //query

sprintf()関数を使用したくない場合は、次bindValue()の関数を使用できPDOます。

$query = $wpdb->prepare('UPDATE :table SET status = 0 
                         WHERE subcategory_id IN ( :ids )'
                       );

$query->bindValue(':table', $wpdb->subcategory, PDO::PARAM_STR);
$query->bindValue(':ids', $ids, PDO::PARAM_STR);
$query->execute();
于 2013-09-24T06:28:58.117 に答える