如何获取元素为NULL的行的结果?我必须更新只包含post\\u id和repeat值的行,“start”和“end”应为NULL
mysql表截图:http://i.imgur.com/l27is.png
$wpdb->update( $schedule_table, array( \'rpt\' => $event_tag ), array( \'post_id\' => $post_ID, \'start\' => NULL, \'end\' => NULL ), array( \'%s\' ) );
$wpdb->print_error();
我收到以下错误:
WordPress数据库错误:[]更新wp_MW_3_schedule
设置rpt
= \'周一在哪里post_id
= 357和start
= \'\' 和end
= \'\'
最合适的回答,由SO网友:Paul Geisler 整理而成
我的简单而快速的解决方案是使用一个普通的$wpdb->query()函数:
$wpdb->query( $wpdb->prepare("UPDATE $schedule_table SET rpt = %s WHERE post_id = %d AND start IS NULL AND end IS NULL", $event_tag, $post_ID ) );
SO网友:Kos
根据this ticket\'s comment, NULL
格式现在工作正常,您可以将查询编写为:
$wpdb->update(
$schedule_table,
array(\'rpt\' => $event_tag),
array(\'post_id\' => $post_ID, \'start\' => NULL, \'end\' => NULL),
array(\'%s\'),
array(\'%d\', NULL, NULL)
);
SO网友:Mark Kaplun
NULL是一个具有特殊含义的php构造,您可能应该使用“NULL”来代替。
$wpdb->update( $schedule_table, array( \'rpt\' => $event_tag ), array( \'post_id\' => $post_ID, \'start\' => \'NULL\', \'end\' => \'NULL\' ), array( \'%s\' ) );