fetch_array的致命错误(mysqli_both)

时间:2015-02-07 12:37:08

标签: php mysqli

我收到了#34;致命错误"一旦调用函数fetch_array(mysqli_both)。 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行中将$query作为$mysqli变量调用的事实相关?

2 个答案:

答案 0 :(得分:1)

首先,您应该使用require_once('connect.php');,因为它是此代码所需的文件。

如果与您的数据库连接正确,您还必须检查 $ mysqli 变量。

要获得更多帮助,您可能需要发布完整的错误消息

答案 1 :(得分:0)

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

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