Подтвердить что ты не робот

Как получить изображения из базы данных MySQL и отобразить их в теге html

Я создал базу данных MySQL с таблицей, использующей phpmyadmin. Я создал эту таблицу со столбцом BLOB для хранения файла jpeg.

У меня есть проблемы с переменной php $result здесь.

Мой код до сих пор: (catalog.php):

<body>
<?php
  $link = mysql_connect("localhost", "root", "");
  mysql_select_db("dvddb");
  $sql = "SELECT dvdimage FROM dvd WHERE id=1";
  $result = mysql_query("$sql");
  mysql_close($link);

?>
<img src="" width="175" height="200" />
</body>

Как я могу получить переменную $result из PHP в HTML, чтобы я мог отображать ее в теге <img>?

4b9b3361

Ответ 1

Вы не можете. Вам нужно создать еще один php script, чтобы вернуть данные изображения, например. getImage.php. Измените catalog.php на:

<body>
<img src="getImage.php?id=1" width="175" height="200" />
</body>

Тогда getImage.php

<?php

  $id = $_GET['id'];
  // do some validation here to ensure id is safe

  $link = mysql_connect("localhost", "root", "");
  mysql_select_db("dvddb");
  $sql = "SELECT dvdimage FROM dvd WHERE id=$id";
  $result = mysql_query("$sql");
  $row = mysql_fetch_assoc($result);
  mysql_close($link);

  header("Content-type: image/jpeg");
  echo $row['dvdimage'];
?>

Ответ 2

Технически вы можете также помещать данные изображения в тег img, используя URI данных.

<img src="data:image/jpeg;base64,<?php echo base64_encode( $image_data ); ?>" />

Есть некоторые особые обстоятельства, при которых это может быть даже полезно, хотя в большинстве случаев вам лучше обслуживать изображение с помощью отдельного script такого как daiscog.

Ответ 3

Вам необходимо получить и передать информацию в нужное вам.

while($row = mysql_fetch_array($result)) {
 echo "img src='",$row['filename'],"' width='175' height='200' />";
}

Ответ 4

Сначала вам нужно получить результирующую строку из набора результатов запроса. Для этого вы можете использовать mysql_fetch_row. Теперь, когда у вас есть выбранная строка, вы можете получить доступ к полученному значению и вывести его в src.

Например:

$sql = "SELECT dvdimage FROM dvd WHERE id=1";
$result = mysql_query($sql);
$row = mysql_fetch_row($result);
?>
<img src="<?=$row[0]?>" width="175" height="200" />
<?

Ответ 5

добавить $row = mysql_fetch_object($result); после вашего mysql_query();

ваш html <img src="<?php echo $row->dvdimage; ?>" width="175" height="200" />