首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Advantage PHP扩展获取行数?

如何使用Advantage PHP扩展获取行数?
EN

Stack Overflow用户
提问于 2011-10-20 11:19:57
回答 3查看 262关注 0票数 0

如何使用Advantage Database PHP扩展从SELECT语句结果集中获取行数?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-10-21 08:44:15

我最终编写了自己的函数,它的工作方式类似于mysql_num_rows:

代码语言:javascript
复制
function my_num_rows($result) {
    ob_start(); // begin disable output from ads_result_all
    (int)$number = ads_result_all($result);
    ob_end_clean(); //close and clean the output buffer
    ads_fetch_row($r1, 0); // reset the result set pointer to the beginning
    if ($number >= 0){
         return $number;
    } else {
         return FALSE;
    }
}

也可以使用ads_fetch_row重写它来计算行数,但这更容易满足我的需要。对于较大的结果集,使用ads_result_all可能会降低性能。

票数 1
EN

Stack Overflow用户

发布于 2011-10-21 05:15:09

您必须在读取行数时对它们进行计数。(您可以看到此KB项070618-1888),或者您可以使用COUNT()标量执行第二个查询(建议尽可能排除order by )

下面是一个边走边计数的示例:

代码语言:javascript
复制
$rStmt = ads_do ($rConn, "select id, name from table1");
$RowCount = 0;
while (ads_fetch_row($rStmt))
{
   $id = ads_result ($rStmt, "id");
   $name = ads_result($rStmt, "name");
   echo $id . "\t" . $name . "\n";
   $RowCount++;
}
echo "RowCount:" . $RowCount . "\n";
票数 0
EN

Stack Overflow用户

发布于 2020-05-28 23:46:23

据我所知,在版本12中有ads_num_rows()函数。请参考官方文档了解更多使用方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7830756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档