Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Добавление бинарного файла из перла. (Mag) 16/11/2003 - 20:51:01
      Re: Добавление бинарного файла из перла. (walrus) 17/11/2003 - 01:10:20
      Re: Добавление бинарного файла из перла. (Mag) 17/11/2003 - 05:49:23
      Re: Добавление бинарного файла из перла. (walrus) 17/11/2003 - 08:01:08
      Re: Добавление бинарного файла из перла. (Mag) 17/11/2003 - 17:10:25
      Re: Добавление бинарного файла из перла. (walrus) 17/11/2003 - 20:19:32
      Re: Добавление бинарного файла из перла. (Mag) 18/11/2003 - 05:36:47

> Original message text:
> From: Mag - 16/11/2003 - 20:51:01
> Subject:Добавление бинарного файла из перла.
> -----------------
> Доброго времени суток.
> У меня проблема:
> Имеется код вида
> $dbh->do("CREATE TABLE pic (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, img BLOB)");
> my $dbh = DBI->connect("DBI:mysql:$database", $user);
> $dbh->do("INSERT INTO pic VALUES ( 0, '$img' )");
> Если переменной $img содержиться картинка, то ничего не выходит, если же текст, то всё работает отлично и потом в PHP_MY_ADMIN пишет [BLOB - 8 Bytes] тоесть поидее всё нормально :)
> В чём ошибка? Что я делаю не так?
>


From: walrus - 17/11/2003 - 08:01:08
Subject:Добавление бинарного файла из перла.
-----------------
твой бинарный файл может соержать байты, которые недопустимы в sql запросе. Например байт с кодом 0 , ", еще там каке то есть недопустимые.

quote приводит строку с твоим бинарным файлом в вид, допустимый к использованию в sql выражении. То есть " заменяет на \", 0 на \0 и т.д. Записываеть его в таком виде в файл смысла нет. А вот вставить в sql выражение - можно.

Мой совет - всегда проверяй результат того, что делаешь. Вставил запись - проверь, что mysql не возвратил код ошибки. По крайней мере будешь точно знать, что именно не так. Для DBI это будет:

$dbh->do("INSERT INTO pic VALUES ( 0,'$bin_file')") or die("Херня случилась".$DBI::errstr);




[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
11697



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |