Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Igor Kuznetsov                       2:5050/78      03 Aug 2001  21:32:55
 To : All
 Subject : в день глюков пишу я к Вам или помогите разобраться в глюке с десятками
 -------------------------------------------------------------------------------- 
 
 
 Good day to see you, All!
 
 Имеем такой вот очень интересный скриптик, который взаимодействует с MySQL. в
 этом MySQL есть база, в ней поле в котором есть строки 2.1 2.2 2.3 ... 2.9 2.10
 2.11 ... 3.1 ... 3.9 3.10 3.11 и т.д.
 
 Скрипт пишет в соседнее поле цифру зарегенного пользователя. т.е например в 2.1
 появляются цифры 1,2,3,4 и т.д. где 1 2 3 - это пользователи. Так вот скрипт
 сначала проверяет поле, если оно не пустое, то достает из него значение и
 конкотинирует со следующим. Вот фрагмент, который это выполняет.
 
 @spec=split /,/, $spec;
 $regposition="_".$var{region};
 
 $sth = ListFields $dbh grp;
 for $no(0..$#spec)
 {
 $body=0; #
 $regbody=0; #
  $sth = $dbh->Query("SELECT smart FROM grp WHERE grp=@spec[$no]");
  $body = $sth->FetchRow;
  $sth = $dbh->Query("SELECT $regposition FROM grp WHERE grp=@spec[$no]");
  $regbody = $sth->FetchRow;
 
 print "<br> No: $no Spec: @spec[$no] Body: $body Regbody: $regbody Number:
 $number \n"; # Для отладки
 
  if ($body ne "")
  {
   $body=$body.",".$number;
  }
  else
  {
   $body=$number;
  }
  if ($regbody ne "")
  {
   $regbody=$regbody.",".$number;
  }
  else
  {
   $regbody=$number;
  }
 
 # print "Body: $body <br>\n";
 # print "Regbody: $regbody <br>\n";
 
  $sth = $dbh->Query("UPDATE grp SET smart='$body' WHERE grp='@spec[$no]'");
  $sth = $dbh->Query("UPDATE grp SET $regposition='$regbody' WHERE
 grp='@spec[$no]'");
 
 print "<br> После No: $no Spec: @spec[$no] Body: $body Regbody: $regbody
 Number: $number \n";
 
 }
 
 Hу и далее пишет в базу. Все вроде бы ok. Hо в строках с 2.10 3.10 3.20 т.е.
 кратные десяти появляется очень даже интересный глюк. в общем вместо того, чтобы
 записать 1,2 он пишет 1,2,2 (причем пишет это в базу на диск, т.е. в файле базы
 там есть 1,2,2) Далее присходит совсем интересные вещи. Когда добавляет 3
 пользователя, то получается 1,2,3,3 (хотя он должен был взять 1,2,2 и прибавить
 к нему 3)
 
 С последующим ситуация повторяется... в итоге на конце в полях со значением
 кратным десяти в соседнем поле всегда на конце две повторяющиеся цифры. т.е.
 1,2,3,4,4 или 1,2,3,4,5,5 и т.д...
 
 Может это глюк MySQL ? Кто что-нибудь слышал вообще про такое? Как такое может
 быть?
 
 PS: Кстати, в фидо ведь почему-то запрещают делать номера узлов кратных десяти.
 Почему???
 
 With Best Regards!                 Igor
 E-mail: virex[at]mail.ru           03 Aug 01 22:32
 ... Люблю, Обь, твою мyть...
 --- GoldED+/W32 snapshot-2000.12.24
  * Origin: Saba wo yomu (2:5050/78)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 в день глюков пишу я к Вам или помогите разобраться в глюке с десятками   Igor Kuznetsov   03 Aug 2001 21:32:55 
 Re: в день глюков пишy я к Вам или помогите pазобpаться в глюке с десят   Albert N. MICHEEV   04 Aug 2001 01:30:38 
 Re: в день глюков пишy я к Вам или помогите pазобpаться в глюке с десят   Artem Chuprina   08 Aug 2001 11:48:37 
 Re: в день глюков пишу я к Вам или помогите разобраться в глюке с десят   Artem Chuprina   08 Aug 2001 11:46:22 
Архивное /ru.perl/121803b6af279.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional