(PHP 4, PHP 5, PHP 7, PHP 8)
odbc_binmode — Управляет обработкой двоичных данных столбца
$statement
, int $mode
): bool
Управляет обработкой двоичных данных столбца. Затрагиваемые типы 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().
Возвращает true
в случае успешного выполнения или false
в случае возникновения ошибки.