num_rows不返回任何值

时间:2014-10-18 15:06:15

标签: php wordpress

我使用以下代码查找返回的行数:

global $wpdb;

$results = $wpdb->get_results("SELECT * FROM list WHERE queue = 1 ORDER BY id ASC LIMIT 0,1");

$rowcount = $results->num_rows;
echo $rowcount;

正如您所看到的,结果限制为1行,当我在SQL中运行此查询时,它返回1行就好了。但在PHP中,$rowcount根本不会返回任何值。

任何想法可能出错?我没有错。

1 个答案:

答案 0 :(得分:1)

我认为您需要使用count($results),因为方法$wpdb->get_results会返回一个对象/数组数组。

获取行数的另一种方法是使用$wpdb->num_rows。显然这适用于 $wpdb->get_results

从文档(http://codex.wordpress.org/Class_Reference/wpdb)中,它说出了以下关于get_results的内容:

  

可以从数据库中提取通用的多行结果   get_results。该函数将整个查询结果作为数组返回。   此数组的每个元素对应于查询结果的一行   和get_row一样,可以是一个对象,一个关联数组或一个   编号数组。如果找不到匹配的行,或者有匹配的行   数据库错误,返回值将是一个空数组。如果你的   $ query字符串为空,或者传递无效的$ output_type,NULL将   被退回。