powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Perl и PostgreSQL: Не проходит UPDATE
3 сообщений из 3, страница 1 из 1
Perl и PostgreSQL: Не проходит UPDATE
    #39755032
Zankoku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток! Господа, второй день бьюсь ничего не выходит. Проблема такая:
Есть таблица в БД usersnames:
Код: plaintext
1.
2.
3.
4.
 login | 1stname | 2ndname  |     organization     |     division      | position 
-------+---------+----------+----------------------+-------------------+----------
 test  | Валенок | Николаев | Тестовая организация | Отдел обеспечения | Дворник
(1 строка)
Для изменения полей в таблице написал форму:
Код: plaintext
Код: ruby
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
say start_form(-name=>'acc_settings', -method=>'POST',-action=>'acc_settings_execute.pl',-class=>'body_form'),
    h4("@results[2]"),
    p('Имя:'),
    textfield(-name=>"1stname",-placeholder=>'Ваше имя'),#-default=>"@results[0]"),
    p('Фамилия'),
    textfield(-name=>'2ndname',-placeholder=>'Ваша фамилия'),#-default=>"@results[1]"),
    p('Подразделение'),
    popup_menu(-name=>'divinorg',-values=>\@division),#-default=>"@division[0]"),
    p('Должность'),
    popup_menu(-name=>'posinorg',-values=>\@positions),#-default=>"@results[4]");
    submit(-name=>'Подтвердить'),
    end_form();



В скрипте acc_settings_execute.pl для обработки данных формы:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
 [code=ruby]
$dbh = DBI->connect("dbi:Pg:dbname=webtaskmgr;host='x.x.x.x';port=5432",'root','groot',
                {AutoCommit => 0, RaiseError => 1, PrintError => 0})
                     or die ("error! $DBI::errstr");
  $dbh->do('set client_encoding=\'UTF8\'');

  my $name=param('1stname');
  my $surname=param('2ndname');
  my $divisiontake=param('divinorg');
  my $positiontake=param('posinorg');

  my $sth = $dbh->prepare("UPDATE usersnames SET \"1stname\"='$name', \"2ndname\"='$surname', organization='Тестовая организация', division='$divisiontake', \"position\"='$positiontake' WHERE login='$login';");
  $sth->execute();
  if ($sth1->err) {
    print "Error!!!" . $sth->errstr;
  }
  $dbh->disconnect();



Так вот в результате выполнения скрипта ошибок нет, но и строка не обновлена.
Что делать? Куда копать?
Заранее спасибо
...
Рейтинг: 0 / 0
Perl и PostgreSQL: Не проходит UPDATE
    #39758394
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zankoku $sth->execute();
if ($sth1->err) {


Почему выполняем один sth, а ошибку ждем от другого?
...
Рейтинг: 0 / 0
Perl и PostgreSQL: Не проходит UPDATE
    #39762144
Zankoku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cane Cat FisherZankoku $sth->execute();
if ($sth1->err) {


Почему выполняем один sth, а ошибку ждем от другого?

копировал код сюда - забыл удалить.

В целом разобрался. (:
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Perl и PostgreSQL: Не проходит UPDATE
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]