PHP и odbc to mssql - имена столбцов отображаются неправильно - PullRequest
1 голос
/ 08 марта 2012

Возникла проблема при попытке вернуть имена полей из базы данных MSSQL через odbc в php.Мой запрос выглядит следующим образом:

SELECT t.ID, t.end_user, ts.name 'status', tp.name 'priority' FROM tickets t INNER JOIN status ts ON ts.ID = t.status INNER JOIN priorities tp ON tp.ID = t.priority

Проблема в том, что, когда я запускаю это на сервере MSSQL, имена столбцов отображаются в соответствии с ожиданиями (ID, end_user, status, priority), но при запускеНа моей странице я получаю «имя» для столбцов статуса и приоритетов.

Есть ли какая-то рифма или причина, по которой я не вижу переименования столбцов?Я попытался использовать «AS» в запросе, не повезло.

На компьютере установлена ​​Ubuntu с драйвером FreeTDS odbc версии 7.2

1 Ответ

3 голосов
/ 18 октября 2012

Я только что говорил с J_D по телефону (всего интернет!), Он предложил добавить

+''
к имени столбца. Это, кажется, обойти эту ошибку. Приведенный выше код должен быть изменен на
SELECT t.ID, t.end_user, ts.name+'' 'status', tp.name+'' 'priority' FROM tickets t INNER JOIN status ts ON ts.ID = t.status INNER JOIN priorities tp ON tp.ID = t.priority

что-то вроде хака, но это будет работать. По-видимому, это является результатом какой-то ошибки в PHP, когда он пытается расшифровать результаты ODBC.

Если у кого-то есть предложение, не связанное с изменением кода SQL, я лично был бы очень признателен, если бы я не менял страницы и страницы кода SQL.

В других новостях, J_D, спасибо за то, что вы такой джентльмен по телефону случайному незнакомцу.

...