-2

这部分我的 php 代码:

$stmt->execute();
$stmt->bind_result($category, $number);

我知道,我可以通过以下方式浏览结果:

while ($stmt->fetch())

但这不是我想要的。我想将结果保存在变量(数组)中。然后使用另一个循环,我将从中多次遍历数据库结果。

对我来说,使用循环在结果集中进行搜索很重要。

是否有命令将 fetch() 结果自动放入数组中?如您所见,我有两列,类别和编号。

或者,我可以多次查询数据库(针对每个类别),但这不是我喜欢的。

非常感谢!

4

1 回答 1

0

您可以将每个获取操作存储在一个数组条目中:

$stmt->execute();
$stmt->bind_result($category, $number);

$results = [];

while ($stmt->fetch()) 
   $results[] = [$category, $number]
;

然后尽可能多地使用该数组。但是,我会说绑定结果并不是一个好主意,我会使用结果集Traversable性质来处理结果而不是::fetch().

$stmt->execute();
$result = $stmt->get_result();
$cached = new CachingIterator($result, CachingIterator::FULL_CACHE);

foreach ($cached as $row) {
   ...
}

...

foreach ($cached as $row) {
   ...
}
于 2013-08-23T14:26:31.180 回答