假设我的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'。
我在这里做错了什么?
答案 0 :(得分:0)
尝试将最后一个数组从array( '%d'
)更改为array( '%s' )
。您现在告诉脚本where变量是一个整数,它不是。
您也可以从第一个阵列中删除'fruit' => 'rotten strawberry'
。在此数组中,您可以放置任何要更新的内容。您要做的就是将 istasty 设置为 0 。