0

您好,我是 wordpress 新手。我想知道如何使用来$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

试试这个

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

或者

$wpdb->update( $table , $data, $where, $format = null, $where_format = null );

类参考 WPDB

于 2013-09-24T09:13:47.253 回答
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 回答