За последние 24 часа нас посетили 17754 программиста и 1626 роботов. Сейчас ищут 1768 программистов ...

Как работать с блобами в БД informix

Тема в разделе "PHP и базы данных", создана пользователем dreycorp, 7 июл 2008.

  1. dreycorp

    dreycorp Активный пользователь

    С нами с:
    7 июл 2008
    Сообщения:
    1
    Симпатии:
    0
    Вообще излазил уже почть весь инет, не нащел ни чего интересного по вопросу, о том как работать с блоб полями в БД informix.
    Суть вопроса: имеется таблица Например images. там есть поле типа блоб(BYTE) blob_img.
    Необходимо записать в БД картинку, а потом ее вывести.

    Немного не понят саму логику выполнения.

    Знаю что надо получить сначало blob_id. Используя ifx_create_blob($type,$method,$res). не могу понять чтоб записать надо файл сначала на сервер закачивать или нет. Вообще по логике кажется, что не надо.

    Чтоб вывести картинку, надо воспользоваться ifx_get_blob($blob_id). Но эта функция возвращает только имя зашифрованного файла.

    Помогите мне разобраться с записью в БД и получением данных!!!!!! Или хотябы на словах как работает сей механизм с блоб полями.
    Для примера приведу как делаю запись в БД (в месте с формой)
    PHP:
    1.  
    2. // Соединились с БД
    3.  
    4. echo "<form action='test.php' enctype='multipart/form-data' method='post' name='add'>  
    5. <tr><td>Картинка: </td><td>Большая:&nbsp;&nbsp; <input type='file' name='image'></td></tr>\n\r
    6. <tr><td colspan=2><input name='addnews' type='submit' value='Добавить запись'></td></tr></table><br>\n\r
    7. ";
    8.  
    9.  
    10.  if (isset($addnews)) {
    11.  
    12.  
    13. $blobid = ifx_create_blob(0,1,$_FILES['image']['tmp_name']);
    14. echo $blobid;
    15. $res = ifx_query("UPDATE lenta set blob_img=(?) where id=1", $CONNECT,array($blobid));
    16.  
    17. if (!$res) {
    18.     printf("Не удалось добавить новую запись:%s\n<br>", ifx_error()); ifx_errormsg();
    19.   exit;
    20.     }
    21.     else echo "<h3 align=center>Новость добавлена</h3>";
    22.  
    пример с UPDATE, потомучто тоже самое с Insert вообще у меня не получается.