array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.odbc-binmode.php', 1 => 'odbc_binmode', ), 'up' => array ( 0 => 'ref.uodbc.php', 1 => 'Функции ODBC', ), 'prev' => array ( 0 => 'function.odbc-autocommit.php', 1 => 'odbc_autocommit', ), 'next' => array ( 0 => 'function.odbc-close-all.php', 1 => 'odbc_close_all', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/uodbc/functions/odbc-binmode.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
odbc_binmode — Управляет обработкой двоичных данных столбца
Управляет обработкой двоичных данных столбца. Затрагиваемые типы ODBC SQL:
BINARY
, VARBINARY
и
LONGVARBINARY
.
Режим по умолчанию можно установить с помощью директивы php.ini
uodbc.defaultbinmode.
Когда двоичные данные SQL преобразуются в символьные данные C
(ODBC_BINMODE_CONVERT
), каждый байт (8 бит) исходных
данных представляется в виде двух символов ASCII. Эти символы представляют
собой символьное представление числа в формате ASCII в его шестнадцатеричной
форме. Например, двоичное число 00000001
преобразуется в
"01"
, а 11111111
- в
"FF"
.
Хотя обработка столбцов BINARY
и
VARBINARY
зависит только от binmode, обработка столбцов
LONGVARBINARY
также зависит от longreadlen:
binmode | longreadlen | result |
---|---|---|
ODBC_BINMODE_PASSTHRU |
0 | passthru |
ODBC_BINMODE_RETURN |
0 | passthru |
ODBC_BINMODE_CONVERT |
0 | passthru |
ODBC_BINMODE_PASSTHRU |
>0 | passthru |
ODBC_BINMODE_RETURN |
>0 | вернуть как есть |
ODBC_BINMODE_CONVERT |
>0 | вернуть в виде char |
Если используется odbc_fetch_into(), passthru означает, что для этих столбцов возвращается пустая строка. Если используется odbc_result(), passthru означает, что данные отправляются клиенту напрямую (т.е. печатаются).
statement
Идентификатор результата.
Если statement
равен 0
,
настройки применяются по умолчанию для новых результатов.
mode
Возможные значения для mode
:
ODBC_BINMODE_PASSTHRU
: Использовать режим
passthru для двоичных данных
ODBC_BINMODE_RETURN
: Вернуть как есть
ODBC_BINMODE_CONVERT
: Преобразовать в char и
вернуть
Замечание: На обработку двоичных столбцов LONG также влияет функция odbc_longreadlen().