我已经阅读了一些关于我的wpdb问题的文档和类似的问题,但我看到了非常不同的答案,所以我有些困惑。
我要做的是从(最终)在Wordpress中获取大约250页的自定义元数据。 wpdb请求将在header.php中,并且代码必须构建一个数组,该数组将作为Google Map的输入。自定义元字段称为_ytF_f_name,_ytF_f_lat和_ytF_f_lng(不要问我原因: - ))。
所以最终输出应该是:[name1,lat1,lng1], [name2,lat2,lng2],
等。
我正在使用Wordpress的自定义表,其前缀为yt_(在wp-config.php中定义)。自定义元是使用WPAlchemy构建的。我检查了数据库,并且元数据在那里(在postmeta表中)。
在结合几件事之后,这就是我现在所拥有的:
<?php
global $wpdb;
$querystr = "SELECT ".$wpdb->prefix."postmeta._ytF_f_name, ".$wpdb->prefix."postmeta._ytF_f_lat, ".$wpdb->prefix."postmeta._ytF_f_lng FROM ".$wpdb->prefix."postmeta WHERE post_type='page'";
$vars = $wpdb->get_results($querystr);
foreach ($vars as $var) {
echo '[' . $var->_ytF_f_name . ',' . $var->_ytF_f_lat . ',' . $var->_ytF_f_lat . '],';
}
?>
输出是空白的,所以我在这里缺少什么?
与此相关的另一个问题是;我读过一些关于“准备”以防止sql注入的内容。
正确使用prepare类来改变
$vars = $wpdb->get_results($querystr);
成:
$vars = $wpdb->get_results($wpdb->prepare($querystr));