Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Теряются данные
 
 автор: dima2207   (27.08.2008 в 01:18)   письмо автору
 
 

Выбираю из базы двоичные данные :

$row = mssql_fetch_assoc($result)
$bin=$row['Data'];

переводим из двоичной системы в щестнадцатиричную:

$per=bin2hex ($row['Data']);

получаем строку :

440047000028000000000000896B4685

далее необходимо к этой строке добавить точно такую-же строку , делаем это так :

$temp=$per.'440047000028000000000000896B4685';

дальше переводим обратно в двоичную систему что-бы занести данные в базу :

$tmp=decbin(hexdec($temp));

проверяем данные :

echo bin2hex($tmp);

и получаем данные совсем несоответствующие тем , которые должны поидеи быть .
Почему? Где ошибка?

  Ответить  
 
 автор: Trianon   (27.08.2008 в 10:12)   письмо автору
 
   для: dima2207   (27.08.2008 в 01:18)
 

>Выбираю из базы двоичные данные :
>$row = mssql_fetch_assoc($result)
>$bin=$row['Data'];
>переводим из двоичной системы в щестнадцатиричную:
>$per=bin2hex ($row['Data']);
>получаем строку :
>440047000028000000000000896B4685
>далее необходимо к этой строке добавить точно такую-же строку , делаем это так :
>$temp=$per.'440047000028000000000000896B4685';
>дальше переводим обратно в двоичную систему что-бы занести данные в базу :

для этого следовало выполнить вызов $tmp = hex2bin($tmp);
обратный предыдущему.

>проверяем данные :
>echo bin2hex($tmp);

и будет всё ОК.

Ошибка в том, что Вы путаете функции, работающие со строками и с числами .

  Ответить  
 
 автор: dima2207   (27.08.2008 в 12:39)   письмо автору
 
   для: Trianon   (27.08.2008 в 10:12)
 

опишите пожалуйста функцию , потомучто на вызов встроеной функции hex2bin($tmp);
я получаю :

Fatal error: Call to undefined function hex2bin() in

  Ответить  
 
 автор: Trianon   (27.08.2008 в 12:45)   письмо автору
 
   для: dima2207   (27.08.2008 в 12:39)
 

тогда её стоит определить.
function hex2bin($data) { return pack('H*', $data); }

  Ответить  
 
 автор: dima2207   (27.08.2008 в 12:50)   письмо автору
 
   для: Trianon   (27.08.2008 в 12:45)
 

СПАСИБО ! Trianon !

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования