2013-08-23 37 views
-2

我的PHP代码这一部分:

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

我知道,我可以通过与resuls走:

while ($stmt->fetch()) 

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

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

是否有一个命令可以自动将fetch()结果放入数组中?如你所见,我有两列,分类和数字。

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

非常感谢!

+0

您需要'一次'获取()'结果 - 将它们存储在一个数组中并在以后进行搜索。 – 2013-08-23 14:23:24

回答

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) { 
    ... 
} 
相关问题