问题:针对 VARCHAR(256+) 字段的 MSSQL 查询在 PHP 中仅返回 255 个字符,无论 VARCHAR 大小是否大于 255。
我在这里和这里看到了对解决方法的引用,其中解决方法基本上是将 VARCHAR 转换为 TEXT:
SELECT CAST(myField AS TEXT) AS myField FROM myTable
但是,如果我有一堆查询,例如:
SELECT * FROM myTable
我的意思是,当然,我可以查找所有这样的查询并执行以下操作:
SELECT CAST(myField AS TEXT) AS 'myField2', * FROM myTable
并将随后的 PHP 变量从 myField 更新为 myField2,但这对于我拥有的应用程序来说是一项相当大的任务。更不用说我必须查找所有具有 VARCHAR(256+) 的表中的所有字段,然后在我的 PHP 应用程序中查找所有受影响的查询。
我们正在运行 PHP 5.2.17,我知道 MSSQL 不再受支持/开发。我在这里看到了 Microsoft 支持的 SQL Server 驱动程序,但我必须将我的 PHP 版本更新到 5.3.6 或 5.4。我不完全确定如果我进行升级会带来什么。另外,我们必须在 PHP 应用程序中将所有 mssql_connect() 更改为 sqlsrv_connect() 以及从 mssql 到 sqlsvr 版本的其他函数。
有谁知道任何其他解决方法(比如我可以从可靠来源下载的更新的 DbLib C API),所以我不必去修改我的 PHP 应用程序中的所有内容?