我使用以下代码查找返回的行数:
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
根本不会返回任何值。
任何想法可能出错?我没有错。
答案 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将 被退回。