Forum Webscript.Ru

Программирование => Perl => Тема начата: Nudlok от 15 Сентября 2005, 16:16:33

Название: Perl DBI - помогите с ошибкой
Отправлено: Nudlok от 15 Сентября 2005, 16:16:33
вот кусок скрипта
my $result = $dbh->prepare("SELECT id, nazvanie_m FROM main")|| die $DBI::errstr;
$result->execute();
while (my ($ids, $slovavn)=$result->fetchrow_array())
{
      if ($slovavn=~m/$zapros/i){
      my $rezultat = $dbh->prepare("select * from main where id = $ids") || die $DBI::errstr;
      $rezultat->execute();
      print "\\n";
      while (my ($id, $kafedra, $grif, $nazvanie, $annotation, $udk, $bbk, $avtor, $god, $filename)=$rezultat->fetchrow_array())
      {
      print "\\n";
      }
      print "
$id $kafedra $grif $nazvanie $annotation $udk $bbk $avtor $god $filename
\\n";
      $rezultat->finish();
      }else{
      print "ничего не найдено \\n";
      }
$result->finish();
}


скрипт выполняется и выдаёт постоянно "ничего не найдено"
при этом в логе появляется вот что
"DBD::mysql::st fetchrow_array failed: fetch() without execute() at \\\\home\\\\db\\\\cgi-bin\\\\search.cgi line 34.\\n"
вроде бы всё правильно, а поиск не работает (
Название: Perl DBI - помогите с ошибкой
Отправлено: glebushka от 15 Сентября 2005, 17:30:21
while (my ($ids, $slovavn)=$result->fetchrow_array())
{
...
$result->finish();
}

Это ты что такое хотел сделать?
Название: Perl DBI - помогите с ошибкой
Отправлено: Nudlok от 16 Сентября 2005, 14:37:03
спасибо разобрался ... глупая ошибка была =)

но есть проблема с которой я борюсь уже более суток:
нужно игнорирование регистра в поисковых словах на русском языке
на английском это получается превосходно и использованием суффикса i  а как же на русском ...?