我的查询在下面工作,除了我无法显示应为“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>";
答案 0 :(得分:1)
从var_dump
的输出中可以看出,您所需的值将存储为对象的成员COUNT(DISTINCT writing.ID)
。您可以遵循一些解决方法。
将索引存储为单独的变量,然后在打印时使用它。
$t = "COUNT(DISTINCT writing.ID)";
print "Total Authors:" .$authors[0]->$t . "<p>";
在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>";