我收到了#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
变量调用的事实相关?
答案 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));
}