Строковые функции - непостоянная ошибка

Статус
В этой теме нельзя размещать новые ответы.

Alkinoy

Начинающий
Строковые функции - непостоянная ошибка

Имею базу. в базе забиты коды ТНВЭД. Но. некоторые коды забиты 8 и 9 символьные, а должны быть 10. надо обработать (дополнить до 10 символов) или оставить таким же (если в коде ошибка и не понятно, что там за код) и вставить в новую таблицу. Кроме того, в новой таблице в одно поле надо вставить первые 4 символа из кода. вот код:
PHP:
        $row2["ТМВЕД"] = $row2["ТМВЕД"].'';
        $row2["ТМВЕД"] = trim($row2["ТМВЕД"]);

        if(8 == strlen($row2["ТМВЕД"]))
           $row2["ТМВЕД"] = "0".$row2["ТМВЕД"]."0";

        elseif(9 == strlen($row2["ТМВЕД"]))
        {
          $sub = '0'.$row2["ТМВЕД"];
          $q = "select * from TNVED where code = '".$sub."'";
          $r1 = mssql_query($q);
          if (1==mssql_num_rows($r1))
          {
            $row2["ТМВЕД"] = '0'.$row2["ТМВЕД"];
          }
          else
          {
            $sub = $row2["ТМВЕД"].'0';
            $q = "select * from TNVED where code = '".$sub."'";
            $r1 = mssql_query($q);
            if (1==mssql_num_rows($r1))
            {
              $row2["ТМВЕД"] = $row2["ТМВЕД"].'0';
            }
          }
        }
         //вставляем строки декларации
        $query = "insert into t (declr_id, tnved, tnved_group, mass, cost, tovar)
        values (".$id['id'].", ".$row2["ТМВЕД"].", ".substr($row2["ТМВЕД"],0,4).",".$row2["вес кг"].", ".$row2["стоимость грн"].", '".$row2["товар"]."')";
таблица TNVED - список всех возможных кодов.
Проблема - некоторые кода остаются 9-и символьными и в дополнительном поле вместо 4 символов - вырезается 3! Но как такое может быть????? 4 символа вырезаются этим substr($row2["ТМВЕД"],0,4) , а в поле $row2["ТМВЕД"] - 9 символов!

Далее, беру этот код запускаю на исходных записях, именно на тех, на которых получается такая фигня - все прекрасно!
Моя в ауте....
что делать, кто посоветует.
PHP 5.1 модуль, Apache 2.2, win 2k3 server sp1, mssql2005 sp2

-~{}~ 14.06.07 10:29:

вопрос снят, моя ошибка, функции работают правильно.
 

Фанат

oncle terrible
Команда форума
Alkinoy
Могу я объяснить.
Кроме тебя, никто из читавших твой вопрос, ни на секунду не усомнился в том, что ошибка именно твоя, а не в функциях пхп.
Поскольку функциями пользуются сотни тысяч людей, и ни у кого ошибок нет.

Рекомендую и тебе думать так же.
Быстрее будешь находить свои ошибки
 

Alkinoy

Начинающий
Автор оригинала: *****
Alkinoy
Могу я объяснить.
Кроме тебя, никто из читавших твой вопрос, ни на секунду не усомнился в том, что ошибка именно твоя
а я этого изначально не отрицал. кроме того, я ее таки нашел. о чем и написал.
а сообщение Garretа напоминает мне этакое высокопарное фырканье. Если Пан Garret хочет показать свою крутость и длину растопыренных пальцев - пусть объяснит, где же я ошибался?
 

Фанат

oncle terrible
Команда форума
Я тебе уже объяснил, где ты ошибался.
заявления про "ошибки в строковых функциях пхп" ничего, кроме насмешливого фырканья, вызвать не могут.
прежде, чем на других гавкать, сначала посмотрись в зеркало.
Сказал глупость - обижайся только на себя.
НАДЕЮСЬ, тема исчерпана.
 

Alkinoy

Начинающий
я НЕ ПИСАЛ про ошибки В строковых функциях. я писал, что при ИСПОЛЬЗОВАНИИ строковых функций ВОЗНИКАЮТ ошибки. К тому же тыкать пан ***** (aka *****) незнакомым людям так и не разучился.
 

Фанат

oncle terrible
Команда форума
вопрос снят, моя ошибка, функции работают правильно.
это кто писал? (вопрос риторический. просто для того, чтобы показать здесь склочную натуру автора)

если незнакомым людям не нравится мое обращение - незнакомые люди вольны со мной не общаться
 

Romantik

TeaM PHPClub
русские ключи- гламурненько!
уже б и в базе русские имена полей для полного кайфа!
 

Wicked

Новичок
svetasmirnova
Имхо эти фичи давайте оставим порту MySQL под рус-ос.

А если серьезно: Даже если так можно делать, ты действительно думаешь, что так делать стоит? Только честно.

-~{}~ 18.06.07 15:56:

(спрашивая сам себя) хотя причем тут MySQL ? :)
 

svetasmirnova

маленький монстрик
>Имхо эти фичи давайте оставим порту MySQL под рус-ос.
Вообще-то MySQL поддерживает названия таблиц и полей в национальной кодировке

>А если серьезно: Даже если так можно делать, ты действительно думаешь, что так делать стоит? Только честно.
Что стоит делать? Ключи массивов? Честно говоря никогда не задумывалась к какой они кодировке, так как руками их обычно не набираю :) Проблем не вижу.
 

akd

dive now, work later
Команда форума
напоминаю, этот форум "дети" читают ...
 

Romantik

TeaM PHPClub
svetasmirnova
А кто сказал что там что то такое? Просто прикольнуло... Ошибки нет, но и хорошего мало.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху