odbc_binmode

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_binmodeОбрабатывает данные двоичного столбца

Описание

odbc_binmode(Odbc\Result $statement, int $mode): true

Функция управляет обработкой данных двоичного столбца. На ODBC-серверах функция затрагивает следующие типы SQL-данных: BINARY, VARBINARY и LONGVARBINARY. Режим по умолчанию устанавливают через директиву uodbc.defaultbinmode, которая содержится в файле php.ini.

Когда двоичные SQL-данные преобразовываются в символьные C-данные (ODBC_BINMODE_CONVERT), каждый байт (8 битов) исходных данных представляется парой символов в кодировке ASCII. Эти символы формируют символьное представление числа в формате ASCII в шестнадцатеричной форме. Например, двоичное число 00000001 преобразовывается в символьное представление "01", а число 11111111 — в "FF".

Хотя обработка столбцов с типами BINARY и VARBINARY зависит только от директивы binmode, обработка столбцов с типом LONGVARBINARY также зависит от атрибута longreadlen:

Обработка данных с типом LONGVARBINARY
Режим директивы binmode Значение атрибута longreadlen Результат
ODBC_BINMODE_PASSTHRU 0 Сквозной сеанс
ODBC_BINMODE_RETURN 0 Сквозной сеанс
ODBC_BINMODE_CONVERT 0 Сквозной сеанс
ODBC_BINMODE_PASSTHRU >0 Сквозной сеанс
ODBC_BINMODE_RETURN >0 Данные возвращаются как есть
ODBC_BINMODE_CONVERT >0 Данные возвращаются как char

В сквозном режиме функция odbc_fetch_into() возвращает из столбцов с двоичными данными пустую строку. При установке сквозного режима и вызове функции odbc_result() данные отправляются непосредственно клиенту, выводятся.

Список параметров

statement

Объект ODBC с результатом.

mode

Возможные значения параметра mode:

  • ODBC_BINMODE_PASSTHRU: Устанавливает сквозной режим для данных с типом BINARY
  • ODBC_BINMODE_RETURN: Данные возвращаются как есть
  • ODBC_BINMODE_CONVERT: Перед возвратом данные преобразовываются в тип char

Замечание: На обработку столбцов с типом двоичных данных LONG также влияет функция odbc_longreadlen().

Возвращаемые значения

Функция возвращает логическое значение true.

Список изменений

Версия Описание
8.4.0 Параметр statement теперь ожидает экземпляр с результом OBDC-запроса Odbc\Result; раньше ожидался аргумент с типом resource.