У меня есть сервер unix, в котором установлен PHP 5.2.13, и он имеет доступ к двум SQL-серверам (один из них работает MSSQL SERVER 2000 и другой MSSQL 2005).PHP + UnixODBC + FreeTDS - SELECT [поле] AS [имя] не работает
Он использует FreeTDS - подробности:
- Версия: v0.82 FreeTDS каталог
- freetds.conf:/USR/и т.д. Совместимость
- MS дб Пб источник/локальный: нет
- Sybase бинарная совместимость: нет безопасности
- темы: да библиотека
- Iconv: да
- TDS версия: 8.0
- iODBC: нет
- UnixODBC: да
И я использую UnixODBC-2.3.1
Сервер MSSQL 2000 прекрасно, я могу запустить все SQL-операторы и используйте mssql_num_rows и mssql_fetch_assoc так же, как и с MySQL.
Однако сервер MSSQL 2005 не будет работать с mssql_num_rows или mssql_fetch_assoc - вы должны использовать odbc_fetch_row.
Это не проблема, я полагаю, это связано только с различными установками сервера.
Однако у меня есть огромная проблема с сервером MSSQL 2005: я не могу выбрать поле AS другое имя!
Например:
SELECT
[EnquiryID] AS "The_Key"
FROM [db].[dbo].[table]
отлично работает в моем администратора приложения (например: НЕ PHP), но если я бегу то же самое в моем PHP среде, я получаю:
stdClass Object
(
[PK_EnquiryID] => 1
)
Вы можете см. его должно быть [The_Key] => 1
Кто-нибудь знает, как мы можем обойти это, пожалуйста? Я вырываю волосы!
Приветствия
Нил