Как выводить картинки BLOB из базы mysql?

Статус
В этой теме нельзя размещать новые ответы.

web-investor

Постоялец
Регистрация
19 Окт 2007
Сообщения
504
Реакции
113
Здравствуйте!

У меня возникла проблема с базой mysql, а точнее с выводом картинок из нее.
Вот какая ситуация, у меня есть mysql база, там имеется 5 полей, одно из них имеет mediumblob, соответсвенно в нем и находятся картинки. На против каждой записи в этом поле стоит [BLOB - 8.0 KB].

Так вот собственно вопрос, подскажите, пожалуйста, каким образом можно выводить картинки из базы?

С уважением, Александр.
 
Здравствуйте!

У меня возникла проблема с базой mysql, а точнее с выводом картинок из нее.
Вот какая ситуация, у меня есть mysql база, там имеется 5 полей, одно из них имеет mediumblob, соответсвенно в нем и находятся картинки. На против каждой записи в этом поле стоит [BLOB - 8.0 KB].

Так вот собственно вопрос, подскажите, пожалуйста, каким образом можно выводить картинки из базы?

С уважением, Александр.

Обычно задача динамического вывода картинок (в вашем случае - из базы данных) решается по следующему алгоритму:

1) Выдача браузеру правильного заголовка в соответствии с типом изображения (например, image/jpeg)

2) Выдача браузеру самого изображения. Например, echo $result['image'];
 
Спасибо, akhkharu!

А Вы бы не могли мне привести пример кода, с помощью которого можно было бы выводить изображения из базы?
 
Сам я картинки в базе данных предпочитаю не хранить, так как это создает дополнительную ненужную нагрузку на сервер баз данных.

Возможно, для вас окажется полезным следующий топик с форума mysql.ru:
 
Спасибо за ссылку!

Начал делать, как там написано, но кое-что не понятно, вот сам код:

<?
... // подключение к Б.Д.
$res=mysql_query("SELECT <поле> FROM <таблица> WHERE <условия>")
or die("SQL ERROR in line ".__LINE__.", function mysql_query");
$image=mysql_result($res, <строка>, <колонка>); // берем переменную из б.д.
header("Content-type: image/gif");
echo $image;
?>

Не понятно, что значит <строка>, <колонка>?
Допустим первая строк и четвертая колонка, то есть 1, 4 или как?
 
mysql_result возвращает значение одной ячейки результата запроса. Эта ячейка определяется параметрами $row и $field (строка и колонка). То есть, если в запросе вам возвращается одна строка и вы запрашиваете одно поле (колонку), например, так SELECT image FROM data WHERE id='1', то mysql_result($res, 0) вернет значение поля image для строки с id='1'.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху