her*_*ron 3 php mysql mysqli prepared-statement fetch
我的功能看起来像这样。
private function generateTree($courseID) {
$q = "SELECT l.id, l.name AS lesson_name, c.name AS course_name FROM lessons AS l, courses AS c WHERE l.course_id=c.id AND c.id=?";
$stmt = $this->db->prepare($q);
$stmt->bind_param("i", $courseID);
$stmt->execute();
$stmt->store_result();
if ($stmt->num_rows > 0) {
$stmt->bind_result($id, $lName, $cName);
echo "<li> <a href='#'>$cName</a> <ul>";
while ($stmt->fetch()) <====HERE!!!
echo "<li> <a href='?course=$courseID&lesson=$id'> $lName </a></li>";
echo "</ul> </li>";
}
}
Run Code Online (Sandbox Code Playgroud)
问题是我开始在while条件下获取数据,但是我也需要在while之前获取数据。我可以两次取数据吗?还有其他建议吗?
已经四年了,但是如果有人像我一样偶然发现了这个问题:
while ($stmt->fetch()) {
// do your thing
}
$stmt->data_seek(0);
while ($stmt->fetch()) {
// do something other
}
Run Code Online (Sandbox Code Playgroud)
您可以在这里阅读文档