基本上我首先查询mysql表中的特定列,并希望在php中使用foreach()回显它们。 这是我的代码。
$sql = "SELECT id, name, roll_no, email, title, abstract, supervisor, sub_date
FROM student_data";
$result = $conn->query($sql);
$array = $result->fetch_assoc();
foreach ($array as $x => $value)
{
echo $array["id"] . " " . $array["name"] . " " . $array["roll_no"] . " " . $array["title"] . " " . $array["supervisor"] . " " . $array["sub_date"] ."<br><br>";
}
它只是不断重复第一个条目。
答案 0 :(得分:2)
您只是循环遍历第一个结果集中的元素。您需要遍历整个结果集:
while($array= $result->fetch_assoc()) {
echo $array["id"] . " " . $array["name"] . " " . $array["roll_no"] . " " . $array["title"] . " " . $array["supervisor"] . " " . $array["sub_date"] ."<br><br>";
}
答案 1 :(得分:0)
您的主要误解是$array = $result->fetch_assoc();
只返回一个结果。要获得第二个,您应该再次致电$result->fetch_assoc()
。
所以你应该以这种方式进行迭代
while ($array = $result->fetch_assoc()) {
echo $array["id"] . " " . $array["name"] . " " . $array["roll_no"] . " " . $array["title"] . " " . $array["supervisor"] . " " . $array["sub_date"] ."<br><br>";
}