|
|
|
| Для хранения фотографии использую тип данных 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.
Как исправить это? | |
|
|
|
|
|
|
|
для: alik
(26.02.2005 в 14:54)
| | Попробуйте пропустить содержимое $bufer через функцию mysql_escape_string(), перед занесением в базу данных
<?php
$bufer = mysql_escape_string($bufer);
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(26.02.2005 в 16:23)
| | Сработало! А как потом из БД вытянуть картинку, а не сплошной текст из BLOB. | |
|
|
|
|
|
|
|
для: alik
(26.02.2005 в 16:48)
| | Хм... ну вообще-то так же, сохранить данные из BLOB в файл или сразу послать в окно браузера с соответствующими HTTP-заголовками (в зависимости от типа файла). | |
|
|
|
|
|
|
|
для: cheops
(26.02.2005 в 20:50)
| | Сохранять в файл - это понятно. А можно сделать так, чтобы рисунок сразу выводился из BLOB, так как выводить много, а сохранять в файл неохота.
Я пробовал различные варианты вывода из BLOB рисунка, но все равно выводит как текст. | |
|
|
|
|
|
|
|
для: alik
(28.02.2005 в 12:41)
| | Перед выводом изображения следует послать заголовок с указанием формата изображения
<?php
header ("Content-type: image/jpeg");
?>
|
Т.е. сообщить браузеру, что вы отсылаете ему рисунок. | |
|
|
|
|
|
|
|
для: alik
(28.02.2005 в 12:41)
| | В теме по ссылке описывается как реализовать вывод сразу нескольких изображений на одной странице http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=5173 | |
|
|
|