показать изображения из базы данных с идентификатором

У меня есть этот код :

<?php
 $link = mysql_connect("localhost", "root", "");
  mysql_select_db("galeria",$link);
$id = $_GET['id'];
$query = "SELECT lowsrc from gallery WHERE id=$id";
$result = mysql_query($query) or die(mysql_error());
$x=0;
while($row = mysql_fetch_array($result))
{

$image = $row['lowsrc'];
echo "<img src='".$image."' /><br />";

}
?>

и в таблице у меня есть это :

echo "<tr>";
echo '<td>' . $row[0] . '</td>';
echo '<td><img src="getImage.php?id=' . $row[0].'" width="300"  /></td>';

Введите описание изображения здесь

Я не могу понять, почему это не показывает изображения

2 ответа

  1. Необходимо указать полный путь.
    Для e.g: src="'http://' . $_SERVER['SERVER_NAME'] .$_SERVER['REQUEST_URI']/getImage.php?id=' . $row[0].'"

    echo "<tr>";
    echo '<td>' . $row[0] . '</td>';
    echo '<td><img src="http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'].'/getImage.php?id=' . $row[0].'" width="300"  /></td>';
    
  2. Вы выводите HTML дважды.

      $image = $row['lowsrc'];
      header('Content-type:image/png');
      readfile($image);
    

    Вы заметите, что это приведет к URLgetimage.php?id=9-адрес вести себя как PNG изображения и команда read file будет выводить содержимое файла.

    Если это не работает, загрузите изображение, откройте его с помощью текстового редактора и проверьте ошибки PHP.