您请求了一个数组,并且正在尝试使用一个对象。
$key = "sc_event_year";
$value = $today_year;
global $wpdb;
$results = $wpdb->get_results("SELECT * FROM $wpdb->postmeta WHERE meta_key = \'sc_event_year\' AND meta_value = $value", ARRAY_A);
foreach ($results as $result){
echo $post_id = $result[\'post_id\']; // <-- here was the problem
}
除非
$value
是一个数字,您可能在该查询中遇到问题,我无法判断是否有用户提供的数据,但是
prepare
如果你打算自己编问题,这是一个很好的习惯。
$key = "sc_event_year";
$value = $today_year;
global $wpdb;
$results = $wpdb->get_results(
$wpdb->prepare(
"SELECT * FROM {$wpdb->postmeta} WHERE meta_key = \'sc_event_year\' AND meta_value = %s",
$value
),
ARRAY_A
);
foreach ($results as $result){
echo $post_id = $result[\'post_id\'];
}
也就是说,您确定没有任何核心功能或方法可以满足您的需求吗?