首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对已经用准备好的语句编写了查询的结果集进行分页,

对已经用准备好的语句编写了查询的结果集进行分页,
EN

Stack Overflow用户
提问于 2012-05-30 04:14:28
回答 1查看 979关注 0票数 2

在查询之前,我一直在使用分页类,但现在我已经通过$stmt->fetch()语句使用准备好的语句进行查询,现在我不知道如何分页。我一直在查看和检查堆栈溢出的文献,似乎有一些现成的解决方案,一些命令或一些:排序->材料。

如何对此循环的结果进行分页?在“预准备语句的世界”中有没有一些命令?有没有显示的链接、页面或网站?

代码语言:javascript
运行
复制
while( $stmt->fetch() )
    {
        printf("%s%s%s%s", $Email, $Webpage, $Telephone, $Mobile);
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-30 04:27:03

方法1:get_result()

*注:此方法仅适用于5.3,具有>=本机驱动。

假设这是使用MySQLi完成的,并且您已经通过bind_result()将这些变量绑定为结果变量,我将使用get_result()将其传输到MySQLi结果资源中,并将行作为数组提取到包含所有行的数组中。然后使用通常在数组数据上使用的任何分页方法或插件:

代码语言:javascript
运行
复制
// Don't use bind_result()...
// execute your statement
$stmt->execute();
// Get result set into a MySQLi result resource
$result = $stmt->get_result();

// array to hold all results
$rowset = array();
// And fetch with a while loop
while ($row = $result->fetch_assoc()) {
  $rowset[] = $row;
}

var_dump($rowset);

现在将$rowset用作2D数组,通过它,您可以使用在常规数组上操作的任何分页方法。

方法2:使用绑定的输出变量构建数组

如果您没有mysqlnd本机驱动程序(因此不能使用get_result(),请继续使用bind_result(),但将所有这些内容附加到一个数组中:

代码语言:javascript
运行
复制
// array to hold all rows
$rowset = array();

// All results bound to output vars
while ($stmt->fetch()) {
  // Append an array containing your result vars onto the rowset array
  $rowset[] = array(
    'email' => $Email,
    'webpage' => $Webpage,
    'telephone' => $Telephone,
    'moblile' => $Mobile
  );
}
var_dump($rowset);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10806038

复制
相关文章

相似问题

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