wordpress wpdb更新困难

时间:2015-12-11 20:10:21

标签: mysql database wordpress

假设我的wp数据库中有一个表:

            CREATE TABLE `fruits` (
                `fruit` varchar(99),
                `istasty` tinyint(1)
            )

            INSERT INTO `fruits` (`fruit`, `istasty`) VALUES
            ('pear', 1),
            ('peach', 1),
            ('rotten strawberry', 1),
            ('strawberry', 1),
            ('banana', 1),
            ('apple', 1);

目标是在腐烂的草莓中将istasty更新为0'行。

class reference for wpdb in the wordpress codex给出:

  

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

所以我尝试了以下方法:

            $wpdb->update( 
                'fruits', 
                array( 
                    'fruit' => 'rotten strawberry',
                    'istasty' => '0'
                ), 
                array( 'fruit' => 'rotten strawberry' ), 
                array( 
                    '%s',   // value1
                    '%d'    // value2
                ), 
                array( '%d' ) 
            );

显然,这会将每条记录更新为烂草莓',' 1'。

我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

尝试将最后一个数组从array( '%d')更改为array( '%s' )。您现在告诉脚本where变量是一个整数,它不是。

您也可以从第一个阵列中删除'fruit' => 'rotten strawberry'。在此数组中,您可以放置​​任何要更新的内容。您要做的就是将 istasty 设置为 0