fetch_array(mysqli_both) 的致命错误

Fatal error with fetch_array(mysqli_both)

调用函数 fetch_array(mysqli_both) 后,我收到 "Fatal error"。 while 实例下面的文件正是错误的来源。

    <?php
include 'connect.php';
$id = $_SESSION['user_id'];
$res = mysqli_query($mysqli, "SELECT a.name,j.link,j.points, a.submit_time from journal j, article a where a.journal_id = j.id and a.professor_id = $id");
?>
<table>
    <tr>
        <th>Article</th>
        <th>Journal</th>
        <th>Points</th>
        <th>Time</th>
    </tr>
<?php
while ($row = $res->fetch_array(MYSQLI_BOTH)) {
?>
    <tr>
        <td><?php echo $row[0] ?></td>
        <td><?php echo $row[1] ?></td>
        <td><?php echo $row[2] ?></td>
        <td><?php $date = date_create($row[3]);
echo date_format($date, 'Y-m-d H:i:s'); ?></td>
    <tr>
<?php   
}
?>
</table>

当我在我的 wampserver 上尝试时,我没有遇到这个问题,因为我激活了几个 PHP 扩展。在网上,我认为激活此类扩展并不容易。你认为这个错误与我没有在第 4 行中用 $mysqli 调用 $query 作为变量有关吗?

首先你应该使用 require_once('connect.php'); 因为它是这个代码所需要的文件。

此外,您还必须检查 $mysqli 变量是否正确连接到您的数据库。

如需更多帮助,您可能需要post完整的错误消息

你应该在获取之前检查结果:

if ($res) {
while ($row = $res->fetch_array(MYSQLI_BOTH)) {
...
...
}
} else {
echo printf("Errormessage: %s\n", mysqli_error($mysqli));
}