无法获取要显示的查询结果

时间:2014-08-13 01:43:17

标签: php mysql

我的查询在下面工作,除了我无法显示应为“2”的结果(非重复计数的结果)。相反,我得到“Total Authors:ID”

//var_dump Result:

array(1) {
[0]=> object(stdClass)#349 (1) {
["COUNT(DISTINCT writing.ID)"]=> string(1) “2″
}
}

//Code:

$authors = $wpdb->get_results("SELECT COUNT(DISTINCT writing.ID)
FROM writing
LEFT JOIN stories on writing.SID = stories.SID
LEFT JOIN wp_users ON writing.ID = wp_users.ID        
WHERE (stories.SID = $the_SID)"
);

echo var_dump($authors);
print "Total Authors:" .$authors[0]->writing.ID ."<p>";

1 个答案:

答案 0 :(得分:1)

var_dump的输出中可以看出,您所需的值将存储为对象的成员COUNT(DISTINCT writing.ID)。您可以遵循一些解决方法。

  1. 将索引存储为单独的变量,然后在打印时使用它。

    $t = "COUNT(DISTINCT writing.ID)";
    print "Total Authors:" .$authors[0]->$t . "<p>";
    
  2. 在MySQL查询中使用别名。

    SELECT COUNT(DISTINCT writing.ID) AS writingID
    FROM writing
    LEFT JOIN stories ON writing.SID = stories.SID
    LEFT JOIN wp_users ON writing.ID = wp_users.ID        
    WHERE (stories.SID = $the_SID)
    

    然后,

    print "Total Authors:" .$authors[0]->writingID . "<p>";