М-да... $link = MYSQL_CONNECT($hostname,$username,$password);
if (!$link) { die("Не удается создать соединение с сервером $ERRMSG "); }
@MYSQL_SELECT_DB("$dbName") OR DIE("Не удается создать соединение с базой данных");
$query = ("SELECT profile FROM ... WHERE ... ");
$result = MYSQL_QUERY($query);
- старая добрая конструкция возвращает НЕЧТО в переменную
$profile = mysql_result($result,0,"profile");
Дальше я "честно", пытаюсь
$arr = unpack( 'S3/C7/c*', $profile );
чтобы начало прочитать:-).
=============================================
profile - это поле типа mediumblob.
Структура данных описана в первом моем посте.
Это 100 строк, каждая состоит из заголовка такой структуры:
struct FrequencyData
{
unsigned short frequency;
unsigned short gain_control
unsigned short pulse_time;
unsigned char pulse_length;
unsigned char threshold_x
unsigned char count_o;
};
дальше в зависимости от значения count_o идет сколько-то данных еще другой структуры.
================================================
А вот эти unsigned short и unsigned char - не будет ли путаницы, если запаковывали данные на С (по-видимому, спрошу в понедельник),
а распаковываем на php.
А то предостерегают в мануале по php, что
"PHP хранит значения как signed. Если распаковать large unsigned long и оно будет иметь тот же размер, что и хранимое PHP значение,
то результатом будет отрицательное число, даже если было указано распаковывать как unsigned. "
(http://www.php.net/manual/ru/function.unpack.php)
PS извините за длинность текста...:-)