php,mysql - 从mysql表中查询数据并使用每个显示结果

时间:2015-04-03 16:06:44

标签: php mysql

基本上我首先查询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>";
}

它只是不断重复第一个条目。

2 个答案:

答案 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>";
}