wpdb :: update无法更新名为' active'

时间:2018-05-21 08:53:15

标签: php mysql wordpress

我尝试更新名为' active'在MySQL中,每次执行此操作wpdb::update都会将我的值更改为0。有人知道为什么吗?下面我贴一些例子。

这里是为DB创建代码:

CREATE TABLE `wp_mdbaffiliate_applications` (
`id` INT(11) NOT NULL,
`active` CHAR(200) NOT NULL,
`user_id` INT(11) NOT NULL,
INDEX `id` (`id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
;

这是我创建行的方式:

    public function __construct() {
        global $wpdb;
        $wpdb->show_errors = true;
        $this->wpdb = $wpdb;
    }
    $this->wpdb->insert('wp_mdbaffiliate_applications', array(
        'user_id'       => get_current_user_id(),
        'active'        => '0'
    ));

这是我的更新查询:

    $status = $this->wpdb->update('wp_mdbaffiliate_applications', array(
        'active' => 'awaiting'
    ), array(
        'user_id' => get_current_user_id()
    ));
    $mySpecificCase = array(
        $this->wpdb->last_query,
        $this->wpdb->last_result,
        $this->wpdb->last_error,
    );
    var_dump($mySpecificCase);
    var_dump($status);

这是它总是回归的东西(无论价值是等待'还是'伞'):

array(3) { [0]=> string(78) "UPDATE `wp_mdbaffiliate_applications` SET `active` = 0 WHERE `user_id` = 33584" [1]=> array(0) { } [2]=> string(0) "" }
int(0)

如果我将active更改为其他任何内容(例如状态),则会运行并返回:

array(3) { [0]=> string(87) "UPDATE `wp_mdbaffiliate_applications` SET `status` = 'awaiting' WHERE `user_id` = 33584" [1]=> array(0) { } [2]=> string(0) "" } 
int(1)

当我使用它时:

$this->wpdb->query("UPDATE `wp_mdbaffiliate_applications` SET `active` = 0 WHERE `user_id` = 33584")

它工作正常。

0 个答案:

没有答案