【发布时间】:2010-09-27 09:37:38
【问题描述】:
我是 php mysql 用法的新手。我正在从数据库中选择结果..我正在使用 while($stmt->fetch()): .. 我想要做的是再次循环浏览结果在第一个循环之后不调用数据库(frombuffered results set)。
我在 xampp 服务器上使用 php5、mysqli、stms。
【问题讨论】:
我是 php mysql 用法的新手。我正在从数据库中选择结果..我正在使用 while($stmt->fetch()): .. 我想要做的是再次循环浏览结果在第一个循环之后不调用数据库(frombuffered results set)。
我在 xampp 服务器上使用 php5、mysqli、stms。
【问题讨论】:
while($row = $stmt->fetch()){
$storedRows[] = $row;
//do stuff
}
foreach($storedRows as $row){
//do more stuff
}
【讨论】:
你可以使用数组。
当您第一次循环遍历结果时,您可以将值放入数组中,稍后在第二次循环中,您可以访问数组中的元素。
类似:
$query = "SELECT name FROM EMP";
$arr = array();
if ($stmt = $mysqli->prepare($query)) {
$stmt->execute();
$stmt->bind_result($name);
// 1st cycle.
while ($stmt->fetch()) {
$arr[] = $name; // save in array.
}
$stmt->close();
// 2nd cycle.
foreach($arr as $name) {
// use $name again.
}
}
【讨论】:
$arr[] = array($name,$street,$phone);