我已经阅读了一些文档和其他人关于我的 wpdb 问题的类似问题,但是我看到了非常不同的答案,所以我有点困惑。
我要做的是从(最终)Wordpress 中的大约 250 页获取自定义元数据。wpdb 请求将在 header.php 中,并且代码必须构建一个数组,该数组将用作 Google 地图的输入。自定义元字段称为 _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));
?