通过$wpdb获取所有帖子的元值



我编写了一个函数,该函数应该为所有帖子提供元键的值。我不知道为什么我的查询不工作。当我用var_dump查询时,它给我一个空的array作为输出。元键的值存储在array,所以我使用unserialize将mysql数组转换为PHP数组。

function wp_postquiz_total_completed_quizes_by_user( ) {
    global $wpdb;
    $mylink = $wpdb->get_results("
                        SELECT $wpdb->postmeta.meta_value * 
                        FROM $wpdb->postmeta 
                        WHERE $wpdb->postmeta.meta_key = '_pq_users_answered_quiz_on_post'",
                        ARRAY_A);

    $array = unserialize($mylink);
    return $array;
}

您的SELECT子句有语法错误:

SELECT $wpdb->postmeta.meta_value *

看起来你正在尝试选择meta_value和"一切",即使meta_value包含在*中。选择其一:

SELECT $wpdb->postmeta.meta_value

SELECT *

如果meta_value是您唯一感兴趣的字段,那么第一个字段是您应该选择的。为了将来的参考,您可以通过调用

来获取任何SQL错误:
$wpdb->print_error();

最新更新