The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Как в ставить в поле BLOB ?"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [Проследить за развитием треда]

"Как в ставить в поле BLOB ?" 
Сообщение от Aleg Искать по авторуВ закладки on 07-Апр-05, 13:59  (MSK)
Perl, MySQL

# считываем в $b_var файл с диска:
  my ( $b_var );
  open TMP, "/var/tmp/wer4545.zip" || die "Файл не найден!";
  foreach( <TMP> )
  {
   $b_var .= $_;
  }
  close TMP;

# выполняем INSERT:
  $sql = "insert into table (blob_field) values ('$b_var')";
  $sth = $dbh->prepare( $sql );
  $sth->execute();
  $sth->finish();

А в .ZIP'е полно кавычек, скобок и апострофов!!! Никуда не годится...
Что делать?

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Как в ставить в поле BLOB ?" 
Сообщение от XAnder Искать по авторуВ закладки(??) on 08-Апр-05, 08:54  (MSK)
>Perl, MySQL
>
># считываем в $b_var файл с диска:
>  my ( $b_var );
>  open TMP, "/var/tmp/wer4545.zip" || die "Файл не найден!";
>  foreach( <TMP> )
>  {
>   $b_var .= $_;
>  }
>  close TMP;
>
># выполняем INSERT:
>  $sql = "insert into table (blob_field) values ('$b_var')";
>  $sth = $dbh->prepare( $sql );
>  $sth->execute();
>  $sth->finish();
>
>А в .ZIP'е полно кавычек, скобок и апострофов!!! Никуда не годится...
>Что делать?

А если по докам пройтись сперва? ;) Сразу же вопросов станет на порядок меньше.

quote - Заключает в символы цитирования строки или BLOB-значения, которые вы собираетесь внести
...

quote($string)
Метод quote используется для экранирования специальных символов в запросе символами экранирования, а также заключения данных в необходимые внешние символы цитирования (например кавычки). Пример:

$sql = $dbh->quote($string)

Взято из "Справочного руководства по MySQL", глава 8

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Как в ставить в поле BLOB ?" 
Сообщение от Aleg Искать по авторуВ закладки on 12-Апр-05, 12:30  (MSK)
>>Perl, MySQL
>>
>># считываем в $b_var файл с диска:
>>  my ( $b_var );
>>  open TMP, "/var/tmp/wer4545.zip" || die "Файл не найден!";
>>  foreach( <TMP> )
>>  {
>>   $b_var .= $_;
>>  }
>>  close TMP;
>>
>># выполняем INSERT:
>>  $sql = "insert into table (blob_field) values ('$b_var')";
>>  $sth = $dbh->prepare( $sql );
>>  $sth->execute();
>>  $sth->finish();
>>
>>А в .ZIP'е полно кавычек, скобок и апострофов!!! Никуда не годится...
>>Что делать?
>
>А если по докам пройтись сперва? ;) Сразу же вопросов станет на
>порядок меньше.
>
>quote - Заключает в символы цитирования строки или BLOB-значения, которые вы собираетесь
>внести
>...
>
>quote($string)
>Метод quote используется для экранирования специальных символов в запросе символами экранирования, а
>также заключения данных в необходимые внешние символы цитирования (например кавычки). Пример:
>
>
>$sql = $dbh->quote($string)
>
>Взято из "Справочного руководства по MySQL", глава 8

Извините, не могли бы Вы на моём примере показать. Я что-то пробую вот так, а не получается:

# выполняем INSERT:
  $string = "insert into table (blob_field) values ('$b_var')";
  $sql = $dbh->quote( $string );
  $sth = $dbh->prepare( $sql );
  $sth->execute();
  $sth->finish();

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Как в ставить в поле BLOB ?" 
Сообщение от XAnder Искать по авторуВ закладки(??) on 12-Апр-05, 18:06  (MSK)
>Извините, не могли бы Вы на моём примере показать. Я что-то пробую
>вот так, а не получается:
>
># выполняем INSERT:
>  $string = "insert into table (blob_field) values ('$b_var')";
>  $sql = $dbh->quote( $string );
>  $sth = $dbh->prepare( $sql );
>  $sth->execute();
>  $sth->finish();

А зачем это Вы весь запрос под quote пускаете? Нужно только $b_var (если я правильно понял, это и есть данные для blob'а), т.е. примерно так:

$b_var_quoted = $dbh->quote($b_var);
$query = "insert into table (blob_field) values ('$b_var_quoted')";
$sth = $dbh->prepare($query);
и т. д.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Как в ставить в поле BLOB ?" 
Сообщение от Aleg Искать по авторуВ закладки on 13-Апр-05, 09:30  (MSK)
>>Извините, не могли бы Вы на моём примере показать. Я что-то пробую
>>вот так, а не получается:
>>
>># выполняем INSERT:
>>  $string = "insert into table (blob_field) values ('$b_var')";
>>  $sql = $dbh->quote( $string );
>>  $sth = $dbh->prepare( $sql );
>>  $sth->execute();
>>  $sth->finish();
>
>А зачем это Вы весь запрос под quote пускаете? Нужно только $b_var
>(если я правильно понял, это и есть данные для blob'а), т.е.
>примерно так:
>
>$b_var_quoted = $dbh->quote($b_var);
>$query = "insert into table (blob_field) values ('$b_var_quoted')";
>$sth = $dbh->prepare($query);
>и т. д.

А-ааааа.. теперь понел!

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру