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();