2017-04-27 132 views
0

我试图由WordPress获得从返回的对象值get_results功能,但它没有成功WordPress的如何获得价值从get_results功能

示例代码

$myrows = $wpdb->get_results("SELECT SUM(view) as dviews FROM view_count WHERE post_id = '$pid'"); 

echo $myrows->dviews; // echo nothing 

所以任何想法如何获得整数从中返回为dviews

+0

'var_dump($ myrows)'的输出是什么?结果可能是一个数组。如果你只需要一个值,你也可以尝试使用'get_var' https://codex.wordpress.org/Class_Reference/wpdb#SELECT_a_Variable – fredrover

回答

1

首先:我已经修改您的查询的。

对于单记录

$result = $wpdb->get_row("SELECT SUM(view) as dviews FROM view_count WHERE post_id = '$pid'"); 
echo $result->dviews; 

多个记录

$results = $wpdb->get_results("SELECT SUM(view) as dviews FROM view_count WHERE post_id = '$pid'"); 
foreach ($results as $result) 
{ 
    echo $result->dviews; 
} 

请注意:如果你有一个表前缀使用$wpdb->prefix以获得正确的表名。

希望这会有所帮助!

0

尝试这样的事情,

foreach($wpdb->get_results("SELECT SUM(view) as dviews FROM view_count WHERE post_id = '".$pid."';") as $key => $row) { 
    // each column in your row will be accessible like this 
     echo $row->column_name; 
    } 

它应该工作。

0

试试这个

$myrows = $wpdb->get_results("SELECT SUM(view) as dviews FROM view_count WHERE post_id =".$pid.""); 
foreach($myrows as $item) 
{ 
echo $item->dviews; 
} 
0

请添加表的前缀和您的查询声明WPDB $作为全局变量也是如此。如果你想获得一个记录,然后使用get_row() 而不是get_results()因为它会获取所有数据通过SQL查询检索

global $wpdb; 
$myrows = $wpdb->get_results("SELECT SUM(view) as {prefix}dviews FROM view_count WHERE post_id = '$pid'"); 

echo $myrows[0]->dviews;