我正在尝试在 Wordpress 中执行非常简单的 SQL 查询。我不知道为什么,但这不起作用:-(
$my_query = ("SELECT DISTINCT meta_value FROM wp_usermeta WHERE meta_key = 'schoolcountry'");
$vysledek = $wpdb->get_results($my_query);
foreach ($vysledek as $value){
echo $value->schoolcountry . ", ";
}
我在名为 wp_usermeta 的表中,其中有两列 - “meta_key”和“meta_value”。我需要根据其“meta_key”回显meta_value。
所以我的meta_key被称为“schoolcountry”,值应该是“CZ”......但是这个代码返回空没有“,,,,,,,,,”:-(
没有人知道,出了什么问题吗?
最佳答案
查询本身没问题。问题在于您尝试显示结果的方式。
您正在尝试通过其meta_key
(学校国家/地区)访问该值。您尝试访问的属性不存在。您需要改用列名称 (meta_value
)。
示例:
foreach ( $vysledek as $value ) {
echo $value->meta_value . ", ";
}
另一点值得提出的是,通过为循环中的每个值附加逗号,您将在末尾有一个额外的逗号。
value1, value2, value3,
我很想使用 implode()
来解决这个问题。
echo implode( ', ', array_map( function( $v ) {
return $v->meta_value;
}, $vysledek );
这里我们使用array_map
返回一个包含所有元值的新数组。然后,Implode 会将它们连接在一起,末尾不带多余的逗号。
关于php - WP Sql 查询 - 这必须正确 :-(,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45656799/