NUM_ROWS无返回值
问题描述:
我用下面的代码,以查找的行数返回:NUM_ROWS无返回值
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
根本不返回任何值。
任何想法可能是错误的?我没有错误。
答
我认为你需要使用count($results)
因为$wpdb->get_results
返回一个对象/数组的数组的方法。
另一种方式来获得的行数是使用$wpdb->num_rows
。显然这适用于 $wpdb->get_results
。
从文档(http://codex.wordpress.org/Class_Reference/wpdb),它说以下有关get_results:
通用,多行的结果可以从数据库 get_results拉。该函数将整个查询结果作为数组返回。 此数组的每个元素对应于所述查询结果 的一行,并且,象get_row,可以是一个对象,关联数组或 编号阵列。如果找不到匹配的行,或者存在数据库错误,则返回值将是一个空数组。如果您的 $查询字符串为空,或者您传递的是无效的$ output_type,则将返回NULL,将返回 。
我知道用'$ wpdb-> query',你可以使用'$ wpdb-> num_rows'得到结果的数量。但不确定关于'get_results'。 – Gohn67 2014-10-18 15:14:46