Здоровья Всем!
Столкнулся с проблемой второй раз:
1. На хостинге обновили perl - не смогли разобраться, попросил откатить (перенести на старый сервер).
2. На локальной машине умер диск с 8-кой. Поставил 9.6 и проблема возникла опять - теперь надо разбираться.Поле MySQL два знака c UNSIGNED ZEROFILL.
Выводит:
site.com/catalog.pl?country=2Должно быть:
site.com/catalog.pl?country=02Сайт старый. "Никогда такого не было, и вот опять" :)
Может кто-то сталкивался? Какие мысли?
>[оверквотинг удален]
> на старый сервер).
> 2. На локальной машине умер диск с 8-кой. Поставил 9.6 и проблема
> возникла опять - теперь надо разбираться.
> Поле MySQL два знака c UNSIGNED ZEROFILL.
> Выводит:
> site.com/catalog.pl?country=2
> Должно быть:
> site.com/catalog.pl?country=02
> Сайт старый. "Никогда такого не было, и вот опять" :)
> Может кто-то сталкивался? Какие мысли?может это не perl виноват, а mysql?
как select происходит?
>[оверквотинг удален]
>> возникла опять - теперь надо разбираться.
>> Поле 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;
}
country=$country®ion=$region_id_tmp
WTF ??
my $val = 2;
$val = sprintf("%02d", $val);
print $val;sprintf уже не моден ?
действительно, что за фигня ??
присоединяюсь, но вежливо - 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;
это, разумеется, чисто для примера
[...]
> $return .= "<p><a title=\"$row->[1]\" href=\"http://site/?country=$row->[0]\"><span>$row->[1]</span></a></p>\n";Ты бы ему лучше объяснил, что $sth->bind_col - это напрашиваться на неприятности.
> [...]
>> $return .= "<p><a title=\"$row->[1]\" href=\"http://site/?country=$row->[0]\"><span>$row->[1]</span></a></p>\n";
> Ты бы ему лучше объяснил, что $sth->bind_col - это напрашиваться на неприятности.ну вот, ты ему уже и объяснил ))
а с другой стороны - это его неприятности,
какое нам дело до этого дела ))