我一直在使用分页类,当我查询之前做的传统方式,但现在,我已经来干什么用准备好的语句中的查询,通过$ stmt->取()语句,我不知道现在该怎么分页。 我一直在四处寻找,并检查计算器文学,似乎有某种它现成的解决方案,一些命令或部分:排序 - >东西。
你如何分页什么出来这个循环? 会存在“准备语句的世界”中的一些命令? 任何链接,网页或网页,其中所显示?
while( $stmt->fetch() )
{
printf("%s%s%s%s", $Email, $Webpage, $Telephone, $Mobile);
}
方法1: get_result()
*注:此方法仅对于PHP> = 5.3的作品,具有mysqlnd本地驱动程序。
假设这是与库MySQLi完成,作为结果经由瓦尔已绑定这些变量bind_result()
我会转而使用get_result()
给它的行作为阵列转移到库MySQLi结果资源,并获取到含有所有行的阵列。 然后使用任何分页方法或插件,您通常会在阵列中的数据使用方法:
// 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
作为一个二维数组,使用它可以使用在普通数组操作的任何分页方法。
方法2:建立与结合的输出VARS的阵列
如果你没有mysqlnd本地驱动程序(因此不能使用get_result()
继续使用bind_result()
但追加所有这些到一个数组:
// 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);