无法从表中获取多行

时间:2017-07-25 18:08:10

标签: php html mysql sql

我正在制作一个页面,需要在名为'school'的数据库中显示存储在名为'events'的表中的所有行

问题在于,即使表中有多个条目/行,由于某些原因,在运行页面时只显示一行。

这是我的代码 -

<?php
require("includes/common.php");
$query = "SELECT * FROM school.events";
$result = mysqli_query($con, $query)or die(mysqli_error($con));
$row = mysqli_fetch_array($result);
$ename = $row['name'];
$place = $row['place'];
$date = $row['date'];
?>
.
.
.
<?php
while ($row) {
    ?>
    <tr>
        <td><?php echo $date; ?></td>
        <td><?php echo $ename; ?></td>
        <td><?php echo $place; ?></td>
    </tr>
    <?php
    $row = mysqli_fetch_array($result);
    $name = $row['name'];
    $place = $row['place'];
    $date = $row['date'];
}
?>

2 个答案:

答案 0 :(得分:2)

尝试改为($ row = mysqli_fetch_assoc($ result)){...},你只是将数组分配给$ row,你不能循环一个数组说($ array)

这样做:

while($row = mysqli_fetch_assoc($result)){
   echo $row['id'];
   echo $row['name'];
}

答案 1 :(得分:2)

那是因为while($row = mysqli_fetch_array($result)) { //code to populate table one row at a time } 只会拉一行然后移动指针。要获取所有行,请使用while循环

{{1}}