Я создал базу данных 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>
?
Вы не можете. Вам нужно создать другой php-скрипт для возврата данных изображения, например 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']; ?>
Технически вы можете также помещать данные изображения в тег img, используя URI данных .
<img src="data:image/jpeg;base64,<?php echo base64_encode( $image_data ); ?>" />
Есть некоторые особые обстоятельства, при которых это может быть даже полезно, хотя в большинстве случаев вам лучше обслуживать изображение с помощью отдельного сценария, такого как дайскиг .
Вам необходимо получить информацию о том, что вам нужно.
while($row = mysql_fetch_array($result)) { echo "img src='",$row['filename'],"' width='175' height='200' />"; }
Прежде всего вам нужно получить полученную строку из набора результатов запроса. Для этого вы можете использовать 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" /> <?
add $row = mysql_fetch_object($result);
после вашего mysql_query ();
ваш html <img src="<?php echo $row->dvdimage; ?>" width="175" height="200" />