(PHP 4, PHP 5, PHP 7, PHP 8)
odbc_binmode — Обрабатывает данные двоичного столбца
Функция управляет обработкой данных двоичного столбца. На 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:
| Режим директивы 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.
|