Forum Webscript.Ru
Программирование => Perl => Тема начата: 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 "$id | $kafedra | $grif | $nazvanie | $annotation | $udk | $bbk | $avtor | $god | $filename |
\\n";
}
print "
\\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"
вроде бы всё правильно, а поиск не работает (
-
while (my ($ids, $slovavn)=$result->fetchrow_array())
{
...
$result->finish();
}
Это ты что такое хотел сделать?
-
спасибо разобрался ... глупая ошибка была =)
но есть проблема с которой я борюсь уже более суток:
нужно игнорирование регистра в поисковых словах на русском языке
на английском это получается превосходно и использованием суффикса i а как же на русском ...?