Wordpress 从带有wpdb的页面中选择自定义元(WPAlchemy)

Wordpress 从带有wpdb的页面中选择自定义元(WPAlchemy),wordpress,Wordpress,我已经阅读了一些文档和其他人关于我与wpdb的问题的类似问题,但我看到了非常不同的答案,所以我有点困惑 我试图做的是(最终)从Wordpress中的大约250页中获取自定义元数据。wpdb请求将位于header.php中,代码必须构建一个数组,该数组将用作googlemap的输入。自定义元字段称为_ytF_f_name、_ytF_f_lat和_ytF_f_lng(不要问我为什么:-)) 所以最终的输出应该是:[name1,lat1,lng1],[name2,lat2,lng2],等等 我正在为W

我已经阅读了一些文档和其他人关于我与wpdb的问题的类似问题,但我看到了非常不同的答案,所以我有点困惑

我试图做的是(最终)从Wordpress中的大约250页中获取自定义元数据。wpdb请求将位于header.php中,代码必须构建一个数组,该数组将用作googlemap的输入。自定义元字段称为_ytF_f_name、_ytF_f_lat和_ytF_f_lng(不要问我为什么:-))

所以最终的输出应该是:
[name1,lat1,lng1],[name2,lat2,lng2],
等等

我正在为Wordpress使用一个自定义表,它的前缀为yt_(在wp config.php中定义)。自定义元是使用WPAlchemy构建的。我已经检查了数据库,元数据就在那里(在Posteta表中)

在结合了几件事之后,这就是我现在拥有的:

<?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 . '],';
}
?>
进入:


关于您的问题,我没有看到错误,因此请使用
$wpdb->show_errors()验证您是否有SQL错误查询前(单据)

prepare方法可以防止SQL注入。 如前所述,其工作原理如下:

 $wpdb->query(
    $wpdb->prepare(
       "INSERT INTO ___
       ( attr1, attr2 )
       VALUES ( %s, %d )",
       $valueOfAttr1,
       $valueOfAttr2
    )
 );

当然,您必须根据需要更改类型和值。

谢谢!错误日志:
WordPress数据库错误:[“字段列表”中的未知列“yt\u Posteta.\u ytF\u f\u name]”
。好像我的代码一点都不准确。。。_ytF_f_name所在的列名称为“meta_key”。_ytF_f_name的值在“meta_value”列中。我想这应该是
postmeta.\u ytF\u name
应该是
postmeta.meta\u key
。然后在某处添加了_ytF_f_name,这样它就可以得到_ytF_f_name的值?我现在有了
如果没有值传递给查询,就不要使用
$wpdb->prepare()
方法。
$wpdb->get\u col()
返回一个数组。如果您想要一个“单一”返回,您应该使用
$wpdb->get_var()
。如果您想查看数组的内容,可以使用
var\u dump($array)功能!谢谢你的提示。查询中仍然有很多内容不正确。现在有人在帮我。当我有了最后的答案,我会把它贴在这里!
$vars = $wpdb->get_results($wpdb->prepare($querystr));
 $wpdb->query(
    $wpdb->prepare(
       "INSERT INTO ___
       ( attr1, attr2 )
       VALUES ( %s, %d )",
       $valueOfAttr1,
       $valueOfAttr2
    )
 );