Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Скрипт выдаёт ошибку DBD::mysql::st execute failed, DBD::mysql::st execute failed 
:(
    Опции темы
luser2012
Дата 11.2.2012, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 11.2.2012

Репутация: нет
Всего: нет



 Здравствуйте!

У меня проблема с запуском скрипта, делаю по книги "Применение mysql и perl в web-приложениях" автор Поль Дюбуа

При обработке основного скрипта вылетает вот такая беда: DBD::mysql::st execute failed: FUNCTION ada54.concat does not exist at /usr/local/lib/perl5/5.10.1/ada54.pm

Фаил ada54.pm это библиотека для работы основного скрипта. В этом файле прописаны функции, вот код функции на которую ругается mysql

sub get_lookup_values
{
my ($dbh, $query) = @_;
my ($sth, @val, $label_ref);

    $sth = $dbh->prepare ($query);
    $sth->execute ();
    # check whether or not query returns a label column
    $label_ref = {} if $sth->{NUM_OF_FIELDS} > 1;
    while (my @row = $sth->fetchrow_array ())
    {
        push (@val, $row[0]);
        $label_ref->{$row[0]} = $row[1] if $label_ref;    # add label map entry
    }
    $sth->finish ();
    return (wantarray () ? (\@val, $label_ref) : \@val);
} 


Подскажите пожалуйста в чем причина ошибки?
PM MAIL   Вверх
vadiml
Дата 12.2.2012, 00:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 27.7.2007

Репутация: нет
Всего: 7



Если ругается DBD::mysql, то надо приводить SQL запрос, вероятнее всего проблема именно в нём.

ЗЫ А вообще вместо запроса из данного примера (prepare + execute + while-fetchrow) лучше использовать selectall_arrayref с параметром Slice.

И на русском книги Поля Дюбуа несколько устаревшие, особенно в отношении MySQL.

Лучше прочтите http://search.cpan.org/~timb/DBI-1.617/DBI.pm
PM MAIL Jabber   Вверх
luser2012
Дата 13.2.2012, 06:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 11.2.2012

Репутация: нет
Всего: нет



Я бы хотел поблагодарить vadiml, за быстрый ответ на поставленный вопрос, который я описал выше, правда я всеже не сделал так как описал vadiml, а исправил по другому.

Ошибка возникала из-за моей невнимательности. Я внес неверные данные в базу mysql. 

А и еще в книги Поля Дюбуа, тоже описаны методы выборки верхнего уровня selectall_arrayref, так что книга и по наше время еще актуальна.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




[ Время генерации скрипта: 0.0410 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.