如何测试wpdb查询的结果?

时间:2011-05-30 作者:Jenny

我想从post meta表中获取元键为“project\\u id”的所有数据。我写了一个查询,它应该在Theory中工作,但我无法看到我得到了什么,并且将这个查询注入我的插件不会生成任何东西。请查看此查询,并帮助我了解其是否正确,结果的格式是什么,如何回传以查看我得到的结果:

function mp_all_ids( ){
global $bp, $wpdb, $post;

$query = <<<QUERY
SELECT      project_id.post_id
FROM        $wpdb->postmeta project_id
LEFT JOIN  $wpdb->postmeta height 
            on height.post_id = project_id.post_id
            and height.meta_key = \'height\'
LEFT JOIN  $wpdb->postmeta width 
            on width.post_id = project_id.post_id
            and width.meta_key = \'width\' 
WHERE       project_id.meta_key = \'project_id\'
ORDER BY    project_id.meta_value+(0) ASC
QUERY;
$data = $wpdb->get_results( $query );

return apply_filters( \'mp_ids\', $data );
}
编辑:var\\u转储得到以下结果:

array(3) {
  [0]=>
  object(stdClass)#457 (1) {
    ["post_id"]=>
    string(3) "385"
  }
  [1]=>
  object(stdClass)#458 (1) {
    ["post_id"]=>
    string(3) "451"
  }
  [2]=>
  object(stdClass)#377 (1) {
    ["post_id"]=>
    string(3) "453"
  }
}
如何访问每个对象中的3个字符串?

2 个回复
最合适的回答,由SO网友:scribu 整理而成

首先,您应该考虑使用WP\\u查询:

http://scribu.net/wordpress/advanced-metadata-queries.html

其次,要看到结果,只需var_dump() 返回前:

echo \'<pre>\';
var_dump( $data );

SO网友:Digitalchild

要测试查询是否正常工作,您可以输出您创建的$查询字符串,并通过PhpMyAdmin或类似界面在wordpress数据库上手动运行该查询。

如果查询中有任何错误,或者查询没有返回任何结果,那么在将其放入代码之前,您可以对其进行调整以获得所需的效果。

结束

相关推荐

正在进行SQL查询...尝试将其调整为使用$wpdb

因此,我有这段代码可以查询wp数据库中自定义插件生成的表。它工作正常。但我正在尝试将其调整为使用$wpdb,而不是我设置的$con函数。下面是工作正常但不使用$wpdb的代码:<?php $q = strtolower($_GET[\"q\"]); if (!$q) return; $isArabic = is_arabic($q); $con=mysql_connect(\"localhost\",\"admin\",\"*****\"); if(