- Debian 9.6 - perl 5.24.1 - UNSIGNED ZEROFILL, михалыч, 13:32 , 21-Дек-18 (1)
>[оверквотинг удален] > на старый сервер). > 2. На локальной машине умер диск с 8-кой. Поставил 9.6 и проблема > возникла опять - теперь надо разбираться. > Поле MySQL два знака c UNSIGNED ZEROFILL. > Выводит: > site.com/catalog.pl?country=2 > Должно быть: > site.com/catalog.pl?country=02 > Сайт старый. "Никогда такого не было, и вот опять" :) > Может кто-то сталкивался? Какие мысли?может это не perl виноват, а mysql? как select происходит?
- Debian 9.6 - perl 5.24.1 - UNSIGNED ZEROFILL, medexpert, 14:18 , 21-Дек-18 (2)
>[оверквотинг удален] >> возникла опять - теперь надо разбираться. >> Поле MySQL два знака c UNSIGNED ZEROFILL. >> Выводит: >> site.com/catalog.pl?country=2 >> Должно быть: >> site.com/catalog.pl?country=02 >> Сайт старый. "Никогда такого не было, и вот опять" :) >> Может кто-то сталкивался? Какие мысли? > может это не perl виноват, а mysql? > как select происходит?Код для регионов (максимально сократил) - проблема одна.
sub region { my $return; $text_quest = " SELECT region_id, $DATA{'LANGUAGE'}_region_name FROM address_region WHERE id_country = $country AND region_act > 0 GROUP BY region_id "; $sth = $dbh->prepare($text_quest); $sth->execute(); if ($sth->err) { $return .= "Ошибка catalog_region_cat " . $sth->errstr; } $sth->bind_col( 1, \$region_id_tmp ); $sth->bind_col( 2, \$name_tmp ); while ( $sth->fetch ) { # Костыль для решения, но таких мест много... # if ($region_id_tmp =~ /^\d$/) { # $region_id_tmp = '0' . $region_id_tmp; # } $return .= "<p><a title=\"$title_tmp\" href=\"http://$DATA{'LANGUAGE'}.$DATA{'HOST_NAME'}/$_[1]?country=$country®ion=$region_id_tmp\"><span>$name_tmp</span></a></p>\n"; } $sth->finish(); return $return; }
- Debian 9.6 - perl 5.24.1 - UNSIGNED ZEROFILL, Аноним, 15:09 , 21-Дек-18 (3)
country=$country®ion=$region_id_tmp WTF ?? my $val = 2; $val = sprintf("%02d", $val); print $val;
sprintf уже не моден ?
- Debian 9.6 - perl 5.24.1 - UNSIGNED ZEROFILL, михалыч, 19:17 , 21-Дек-18 (4)
действительно, что за фигня ?? присоединяюсь, но вежливо - WTF(lood) ))если хочется использовать метод fetch()
if ($sth->err) { $return .= "ERROR " . $sth->errstr; } else { while ( my $row = $sth->fetch() ) { $return .= "<p><a title=\"$row->[1]\" href=\"http://site/?country=$row->[0]\"><span>$row->[1]</span></a></p>\n"; } } $sth->finish(); return $return;
это, разумеется, чисто для примера
- Debian 9.6 - perl 5.24.1 - UNSIGNED ZEROFILL, ACCA, 00:12 , 29-Дек-18 (5)
[...] > $return .= "<p><a title=\"$row->[1]\" href=\"http://site/?country=$row->[0]\"><span>$row->[1]</span></a></p>\n"; Ты бы ему лучше объяснил, что $sth->bind_col - это напрашиваться на неприятности.
- Debian 9.6 - perl 5.24.1 - UNSIGNED ZEROFILL, михалыч, 08:42 , 31-Дек-18 (6)
> [...] >> $return .= "<p><a title=\"$row->[1]\" href=\"http://site/?country=$row->[0]\"><span>$row->[1]</span></a></p>\n"; > Ты бы ему лучше объяснил, что $sth->bind_col - это напрашиваться на неприятности. ну вот, ты ему уже и объяснил )) а с другой стороны - это его неприятности, какое нам дело до этого дела ))
|