$wpdb->get_var未返回计数

时间:2016-12-23 作者:Nelson101

我正在尝试对分页进行计数,并将其返回NULL,这就是为什么查询会正确返回结果。在这种情况下,$total返回NULL,这是不正确的,为什么?(我没有包括$args,因为它们有效)

$total_query = "SELECT COUNT(*) FROM (${args}) AS total_count";
$total = $wpdb->get_var( $total_query );
$items_per_page = 5;
$page = isset( $_GET[\'cpage\'] ) ? abs( (int) $_GET[\'cpage\'] ) : 1;
$offset = ( $page * $items_per_page ) - $items_per_page;
$results = $wpdb->get_results( $args . " ORDER BY user_registered DESC   LIMIT ${offset}, ${items_per_page}" );

2 个回复
SO网友:CodeMascot

在您的代码中,它实际上是在计算您插入的查询$testargs. 在您的情况下,您输入了一个。所以它会还给你一个。如果需要获得WordPress用户表上的计数,请按如下方式编写查询-

global $wpdb;

$total_query = "SELECT COUNT(*) FROM {$wpdb->users} AS total_count";
$total = $wpdb->get_var( $total_query );

SO网友:Anand thakkar

我认为您的代码片段应该与下面的代码片段类似,我不明白您为什么要在中再次添加相同的查询$total_query 通过附加$testargs 因此,请尝试下面的代码片段。

$total_query = "SELECT COUNT(*) FROM {$wpdb->users}";
$total = $wpdb->get_var( $total_query );
echo $total;