正在尝试返回数据库查询的计数.但是,虽然数组具有正确的数据,但返回值为空


Trying to return count of database query. But, while the array has the right data, the return value is blank

function get_entry_count($pagename) {
    global $wpdb;
    $count = $wpdb->get_results("SELECT COUNT( * ) FROM wp_fpc_rg_lead_detail WHERE form_id =12 AND field_number =5 AND value =  '$pagename'" );
    return $count[0]->count;
    }
    $numofpeople = get_entry_count($post->post_title);
    echo "$numofpeople people filled out the form";

我正在尝试运行上面的查询,并输出匹配的记录数。如果我加上:

print_r($count);

在返回命令之上,我得到的是:

Array ( [0] => stdClass Object ( [COUNT( * )] => 7 ) )

ARE7条记录;并且返回的值应该是7。

但是,返回的值($count[0]->count;(似乎为null。。我确信这是件愚蠢的事,但我就是无法让它发挥作用。

尝试在查询中为COUNT(*)提供别名。然后,您应该能够将别名作为对象的属性进行引用。在下面的例子中,我使用了lead_detail_count,但可以随意更改为您想要的任何内容。

function get_entry_count($pagename) {
    global $wpdb;
    $count = $wpdb->get_results("SELECT COUNT( * ) as lead_detail_count FROM wp_fpc_rg_lead_detail WHERE form_id =12 AND field_number =5 AND value =  '$pagename'" );
    return $count[0]->lead_detail_count;
}

get_results还可以获取第二个参数,该参数将更改返回值,可能值得一看。http://codex.wordpress.org/Class_Reference/wpdb#SELECT_Generic_Results