Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.03.2013, 15:21   #1
manula
Форумчанин
 
Регистрация: 17.04.2011
Сообщений: 168
Вопрос Обработка и хранение файлов в БД PostgresSQL

Здравствуйте уважаемые программисты, возникла проблема такого характера, у меня есть БД PostgreSQL, есть таблица в которой я должен хранить файлы с расширениями (.doc, .pdf, .txt) и в этой же таблицы есть ключевой реквизит "Наименование", как через форму по средствам php записывать и хранить информацию в таблице и по возможности допустим я могу выбрать соответствующее "Наименование" и мне покажет соответствующие этому "Наименованию" документы.
Структура таблицы:
Код:
naim - (text)
file_doc - (bytea)
file_spravka - (bytea)
file_opis - (bytea)
Пример для наглядности:
Цитата:
Я выбираю "Призма" и показываются все документы соответствующие этому наименованию.
Надеюсь я понятно изложил слою проблему, просто с БД PostgreSQL работаю относительно недавно, поэтому прошу вашей помощи.
manula вне форума Ответить с цитированием
Старый 20.03.2013, 15:26   #2
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

Не обнаружил конкретного вопроса.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 20.03.2013, 16:08   #3
manula
Форумчанин
 
Регистрация: 17.04.2011
Сообщений: 168
По умолчанию

Проблема с манипулированием данных(добавление, просмотр), хранение в БД содержимого или пути к файлам, для возможного просмотра файлов, мне нужно привязать один реквизит к нескольким документам, каким то образом хранить эту информацию в БД PostgreSQL и при выборе ключевого реквизита отображать файлы которые к нему прикреплены,вот в чем суть проблемы.
manula вне форума Ответить с цитированием
Старый 20.03.2013, 16:42   #4
manula
Форумчанин
 
Регистрация: 17.04.2011
Сообщений: 168
По умолчанию

Пробовал таким образом хотя бы подгрузить в базу имя файла:
PHP код:
 <?php
$co_string 
"host=localhost port=5432 dbname=db user=users password=user";
$con pg_connect($con_string);
 if (isset(
$_POST['Upload']))
  {
    if(isset(
$userfile))
    {   
      
$fileName $_FILES['userfile']['name'];
      
$tmpName  $_FILES['userfile']['tmp_name'];
      
$fileSize $_FILES['userfile']['size'];
      
$fileType $_FILES['userfile']['type'];
      
      
$strSQL "INSERT INTO test (naim, kol, files) VALUES('".$_POST["Text"]."', '".$_POST["Naim"]."', '$fileName')";
      
$result pg_query ($con$strSQL);
     
       if (
$result==true)
        { echo 
$result
          
print_r($_POST); 
        } else { echo (
"Запрос выполнен!"); echo $strSQL;}
     }
    }
  
?>
 
<form action="" method="post" enctype="multipart/form-data">
<input type='text' name='Text' size='25' maxlength='20'/><br/>
<input type='text' name='Naim' size='25' maxlength='20'/><br/>
   
<input type="hidden" name="MAX_FILE_SIZE" value="524288"/>
<input type="file" class="bginput" name="userfile" id="file" />
<input type="submit" class="button" name="Upload" value="Загрузить" style="width:80px" />
</form>
Выдает ошибку:
Код:
Warning: pg_query(): Query failed: ERROR: permission denied for sequence test_id_seq in ....
manula вне форума Ответить с цитированием
Старый 20.03.2013, 17:06   #5
buriat
Форумчанин
 
Регистрация: 28.06.2010
Сообщений: 189
По умолчанию

Не разрешен доступ к sequence. Надо разрешить к нему доступ c помощью GRANT

Код:
GRANT { { USAGE | SELECT | UPDATE }
    [, ...] | ALL [ PRIVILEGES ] }
    ON { SEQUENCE sequence_name [, ...]
         | ALL SEQUENCES IN SCHEMA schema_name [, ...] }
    TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
buriat вне форума Ответить с цитированием
Старый 21.03.2013, 08:17   #6
manula
Форумчанин
 
Регистрация: 17.04.2011
Сообщений: 168
По умолчанию

Так все привилегии я у этой таблицы для данного пользователя дал, ошибка на ключевое поле(поле счетчик) в ошибки выдает вот это поле:
Код:
nextval('test_id_seq'::regclass)
Тип поля -integer(NOT NULL)
manula вне форума Ответить с цитированием
Старый 21.03.2013, 11:16   #7
buriat
Форумчанин
 
Регистрация: 28.06.2010
Сообщений: 189
По умолчанию

На "счетчик" тоже привилегии нужны
buriat вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Хранение файлов на нескольких серверах CraZZy RabbIt PHP 3 27.12.2011 23:11
Хранение файлов в ресурсах exe Anton911 Общие вопросы Delphi 1 16.09.2011 09:37
Открытие, копирование и хранение файлов LexxSakhalin Microsoft Office Access 2 15.06.2011 10:15
Mysql хранение файлов ToLeG БД в Delphi 10 14.07.2009 15:12