Проблема с расширением ODBC PHP PDO при обновлении PHP 5.6 до 7.1

У нас есть настройка с PHP 5.6. Мы используем Apache Ignite datagrid для целей кэширования. Мы используем PDO (pdo_odbc) поверх unixODBC для выполнения SQL-запросов к кешу зажигания. Код, как показано ниже,

$res = $this->connection()->query($selectQuery)->fetchAll(\PDO::FETCH_COLUMN);

Здесь connection() Функция возвращает объект PDO. SQL имеет следующий формат,

SELECT stu.name FROM "StudentCache".Student AS stu WHERE stu.is_qualified = \'1\' ORDER BY name ASC LIMIT 40 OFFSET 0

Код работает нормально при развертывании PHP 5.6. Код возвращает массив значений столбца. По умолчанию FETCH_COLUMN возвращает первый столбец (только один в нашем случае).

проблема

Теперь проблема в том, что когда я обновил php до 7.1, тот же фрагмент кода вызывает исключение pdo. Ниже приведена точная ошибка,

SQLSTATE[SL009]: <<Unknown error>>: 0 [unixODBC][Driver Manager]No columns were bound prior to calling SQLFetch or SQLFetchScroll (SQLFetchScroll[0] at /home/buildozer/aports/community/php7/src/php-7.1.17/ext/pdo_odbc/odbc_stmt.c:559)

Но если имя столбца заменяется на *Нет ошибки. Весь набор результатов возвращается в виде массива. Однако для нашего варианта использования мы хотим иметь возможность указать столбец, так как анализ результирующего набора не требует дополнительных затрат.

Я искал похожие проблемы без особого успеха. Любая помощь будет принята с благодарностью. Пожалуйста, спросите, если вам нужно больше деталей.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]