【问题标题】:wordpress wpdb update difficultieswordpress wpdb更新困难
【发布时间】:2015-12-11 20:10:21
【问题描述】:

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

            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”。

我在这里做错了什么?

【问题讨论】:

    标签: mysql database wordpress


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2016-07-09
      • 2020-11-19
      • 2015-07-18
      • 1970-01-01
      • 2019-10-03
      • 2013-09-07
      • 1970-01-01
      • 1970-01-01
      • 2016-02-13
      相关资源
      最近更新 更多