我有一个安装了 PHP 5.2.13 的 unix 服务器,它可以访问两个 SQL 服务器(一个运行 MSSQL SERVER 2000,另一个运行 MSSQL 2005)。
它使用 FreeTDS - 详细信息:
- 版本:freetds v0.82
- freetds.conf 目录:/usr/local/etc
- MS db-lib 源兼容性:否
- Sybase 二进制兼容性:否
- 线程安全:是
- iconv 库:是的
- TDS 版本:8.0
- iODBC:没有
- unixodbc:是的
我正在使用 unixODBC-2.3.1
MSSQL 2000 服务器很好,我可以像使用 MySQL 一样运行所有 SQL 语句并使用 mssql_num_rows 和 mssql_fetch_assoc。
但是,MSSQL 2005 服务器不能使用 mssql_num_rows 或 mssql_fetch_assoc - 您必须使用 odbc_fetch_row。
这不是一个真正的问题,我认为这只是由于不同的服务器安装。
但是,我对 MSSQL 2005 服务器有一个大问题:我不能选择一个字段作为另一个名称!
例如:
SELECT
[EnquiryID] AS "The_Key"
FROM [db].[dbo].[table]
在我的管理应用程序中工作正常(即:不是 PHP),但如果我在我的 PHP 环境中运行相同,我得到:
stdClass Object
(
[PK_EnquiryID] => 1
)
你可以看到它应该是[The_Key] => 1
有人知道我们如何解决这个问题吗?我要扯头发了!
干杯
尼尔