Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Ошибка при добавлении фотографии в БД
 
 автор: alik   (26.02.2005 в 14:54)   письмо автору
 
 

Для хранения фотографии использую тип данных BLOB и пишу код

include "connect.php";
$filename = "image.jpg";
$fd = fopen($filename,"r");
$bufer = fread($fd,filesize($filename));
fclose($fd);
$query = "INSERT INTO proba VALUES (0,'photo1','$bufer')";
if (mysql_query($query)) echo "добавлено<br>";
 else 
 {
  echo "Ошибка: ".mysql_error()."<br>";
  exit();
 }

А в ответ выводит ошибку:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'v{пЊaЕЮ\;2ш<НЅ…я' at line 1.
Как исправить это?

   
 
 автор: cheops   (26.02.2005 в 16:23)   письмо автору
 
   для: alik   (26.02.2005 в 14:54)
 

Попробуйте пропустить содержимое $bufer через функцию mysql_escape_string(), перед занесением в базу данных
<?php
  $bufer 
mysql_escape_string($bufer);
?>

   
 
 автор: alik   (26.02.2005 в 16:48)   письмо автору
 
   для: cheops   (26.02.2005 в 16:23)
 

Сработало! А как потом из БД вытянуть картинку, а не сплошной текст из BLOB.

   
 
 автор: cheops   (26.02.2005 в 20:50)   письмо автору
 
   для: alik   (26.02.2005 в 16:48)
 

Хм... ну вообще-то так же, сохранить данные из BLOB в файл или сразу послать в окно браузера с соответствующими HTTP-заголовками (в зависимости от типа файла).

   
 
 автор: alik   (28.02.2005 в 12:41)   письмо автору
 
   для: cheops   (26.02.2005 в 20:50)
 

Сохранять в файл - это понятно. А можно сделать так, чтобы рисунок сразу выводился из BLOB, так как выводить много, а сохранять в файл неохота.
Я пробовал различные варианты вывода из BLOB рисунка, но все равно выводит как текст.

   
 
 автор: cheops   (28.02.2005 в 22:50)   письмо автору
 
   для: alik   (28.02.2005 в 12:41)
 

Перед выводом изображения следует послать заголовок с указанием формата изображения
<?php
  header 
("Content-type: image/jpeg");
?>

Т.е. сообщить браузеру, что вы отсылаете ему рисунок.

   
 
 автор: cheops   (03.07.2005 в 16:44)   письмо автору
 
   для: alik   (28.02.2005 в 12:41)
 

В теме по ссылке описывается как реализовать вывод сразу нескольких изображений на одной странице http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=5173

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования