-1

我有这个代码已经工作了几个月没有任何问题。现在这个页面不起作用,问题来自 php 代码,但我不知道在哪里

	<?php


 $query = "SELECT * FROM offerimage order by name";

$result = mysqli_query($connection, $query);

if ($result->num_rows > 0) {
    
	echo "<table>";

    while($row = $result->fetch_assoc()) {

       echo "<tr>";
 
 
  $image = '<img src="data:image/jpeg;base64,'.base64_encode($row['image'] ).'" height="100" width="100"/>';
 
 
//echo '<br></br>';	
echo $image;
echo '<br></br>'; 
	   echo "</tr>";
		
    }
} else {

	echo "</table>";
}

?>

我得到这个错误

“ERR_EMPTY_RESPONSE”

这是错误页面

4

2 回答 2

0

当查询没有返回任何行时,为什么不输出一些东西,因为这可能是原因?

此外,您应该在<td>元素内包含图像。

编辑以显示图像的逐行检索。假设数据库表offerimage有一个名为 的唯一整数 ID(如AUTO_INCREMENT列)id,更改查询以匹配实际表定义。

<?php

// get array of offerimage IDs ordered by name
$query = "SELECT id FROM offerimage order by name";
$result = mysqli_query($connection, $query);
$ids = [];
while ($row = $result->fetch_assoc()) {
    $ids[] = (int)$row['id'];
}

if (count($ids) > 0) {
    // display each image
    echo '<table>';
    foreach ($ids as $id) {
        $query = "SELECT image FROM offerimage WHERE id = {$id}";
        $result = mysqli_query($connection, $query);
        $row = $result->fetch_assoc();

        echo "<tr><td>";
        echo '<img src="data:image/jpeg;base64,'.base64_encode($row['image'] ).'" height="100" width="100"/>';
        echo "</td></tr>";

        mysqli_free_result($result);
    }
    echo "</table>";
} else {
    echo "<p>No offers found.</p>";
}

SELECT *其他建议:如果您只需要一列,请不要使用。改为使用SELECT image

在建立数据库连接时检查错误(您不显示该代码)并从查询中使用error_log()或发送到浏览器,以便您可以查看那里是否出现问题。

于 2018-11-19T02:54:42.300 回答
0

我通过将图像保存在文件夹中然后将图像位置保存在数据库中来解决它。

于 2018-11-19T17:00:13.607 回答