Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   почему искажаются данные при чтении из БД? (https://forum.antichat.xyz/showthread.php?t=74911)

gevara 25.06.2008 00:06

почему искажаются данные при чтении из БД?
 
скрипт принимает данные от клиента:
Код:

        $h_postbuffer = fopen("php://input", "rb");
                       
        while(!feof($h_postbuffer))
        {
                $buffer = $buffer.fread($h_postbuffer, 1024);
        }
       
        mysql_query("UPDATE `cn` SET `answer` = '$buffer', `moded` =".time()." WHERE hash = '$hash'", $db);

затем отправляет их ему:
Код:

        $ans = mysql_query("SELECT answer from `cn` WHERE hash = '$hash'", $db);
        $row = mysql_fetch_array($ans, MYSQL_NUM);
        print 'success:'.$row[0];

таблица cn создавалась так:
Код:

    mysql_query("
        CREATE TABLE `cn` (
        `id` bigint(20) NOT NULL auto_increment,
        `time` int(11) NOT NULL default '0',
        `ip` text NOT NULL,
        `country` text NOT NULL,
        `hash` text NOT NULL,
        `task` MEDIUMTEXT BINARY,
        `answer` MEDIUMTEXT BINARY,
        PRIMARY KEY  (`id`),
        `moded` int(11) NOT NULL default '0'
        ) TYPE=MyISAM  AUTO_INCREMENT=1;"
    );

в итоге переданные на сервер данные (я передаю данные в base64, то есть данные только текстовые) не совпадают с полученными, а именно:

я передаю серверу это:
...E4ARgBPADoAIAAgACAAQwBvAHAAaQBlAGQAIABm

в БД это:
...E4ARgBPADoAIAAgACAAQwBvAHAAaQBlAGQAIABm

а сервер мне выдаёт это:
...E4ARgBPADoAIAAgAC..10ae..AAQwBvAHAAaQBlAGQAIABm

на моём сервере такого глюка нет, но попробовал запускать на других - там он появляется. левые символы ..10ae.. появляются по смещению 0x0EDD от начала, смещение не зависит от самих данных - появляется всегда в одном и том-же месте. в чём может быть проблемма и как с ней справиться?


Время: 07:52