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

Php 通过$wpdb获取所有帖子的元值,php,mysql,arrays,wordpress,Php,Mysql,Arrays,Wordpress,我写了一个函数,它应该为所有帖子提供一个元键的值。我不知道为什么我的查询不起作用。当我var\u dump查询时,它给我一个空的数组作为输出。元键的值存储在array中,因此我使用unserialize将mysql数组转换为PHP数组 功能 function wp_postquiz_total_completed_quizes_by_user( ) { global $wpdb; $mylink = $wpdb->get_results("

我写了一个函数,它应该为所有帖子提供一个元键的值。我不知道为什么我的查询不起作用。当我
var\u dump
查询时,它给我一个空的
数组作为输出。元键的值存储在
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\u值
和“一切”,即使
meta\u值
包含在
*
中。做一个或另一个:

SELECT $wpdb->postmeta.meta_value

如果
meta_值
是您感兴趣的唯一字段,那么第一个字段就是要走的路。为了便于将来参考,您可以通过调用以下命令获取任何SQL错误:

$wpdb->print_error();

谢谢你的解决方案@mtinsley。最后一个问题,我也不想得到带有meta值的post id。我正在尝试添加
左连接
,但它似乎不起作用。我修改了这个
选择$wpdb->postmeta.meta\u值,$wpdb->postmeta.post\u id
并添加了
左连接$wpdb->postmeta.post\u id
该post id已经在postmeta行中。你的意思是你想得到这个职位(不仅仅是身份证)?如果是这样,您可能希望将
WP\u Query
与元查询一起使用。如果你陷入困境,请再提出一个问题。刚刚提出了一个新问题,如果你能帮我解决这个问题,我将非常感谢。谢谢
$wpdb->print_error();