Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法从表中获取多行_Php_Html_Mysql_Sql - Fatal编程技术网

Php 无法从表中获取多行

Php 无法从表中获取多行,php,html,mysql,sql,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 = m

我正在制作一个页面,它需要在名为“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'];
}
?>

当$row=mysqli\u fetch\u assoc$result{…}时,您只需将数组分配给$row,就不能循环数组说while$array

这样做:

while($row = mysqli_fetch_assoc($result)){
   echo $row['id'];
   echo $row['name'];
}
这是因为$row=mysqli\u fetch\u array$result;将仅拉动一行,然后移动指针。要获取所有行,请使用while循环

while($row = mysqli_fetch_array($result)) {
     //code to populate table one row at a time
}

@我试过了。现在它甚至不会显示先前显示的一行。我将while循环条件更改为您建议的,但现在甚至不会显示一行。它是否与先存储在变量中检索到的值,然后再显示它们有关?因为这就是我正在做的。