PHP MSSQL VARCHAR 255字符问题



essue :针对VARCHAR(256 )字段的MSSQL查询仅返回PHP中的255个字符,无论VARCHAR尺寸大于255。

我已经在这里和这里看到了对解决方法的参考,从根本上讲,解决方案基本上是为了将varchar铸造为文本:

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。我不确定如果我进行升级,那将需要什么。另外,我们必须将所有MSSQL_CONNECT()更改为SQLSRV_Connect(),以及其他功能从MSSQL到我们的PHP应用程序中的SQLSVR版本。

有人知道还有其他解决方法(例如我可以从值得信赖的来源下载的较新的dblib c api),所以我不必在PHP应用程序中修改所有辣椒?

编辑 /etc/freetds.conftds version设置更改为8.0(如果您的服务器是MS SQL Server 2000或更高版本)或7.0(如果使用MS SQL Server 7),请在必要时删除设置。<<<<<<<<<<<<<<

开始" MS SQL管理工作室"

在主菜单中查询查询选项在此窗口中选择"结果" text,最后您会看到"每列中显示的字符的最大数量"。Div>

我知道这是一个古老的问题,但我今天正在寻找相同的答案;)

我测试了此解决方案

select *, CAST(DESCRESTESA AS TEXT) AS DESCRESTESA from table_name

它效果很好

最新更新