gpt4 book ai didi

php - SQL Server 使用 PHP 返回的列名称被截断为 29 个字符

转载 作者:行者123 更新时间:2023-12-02 08:56:16 25 4
gpt4 key购买 nike

我有一个 SQL Server 查询,我从中获取结果并将其插入到数组中,例如

while($row = mssql_fetch_array($res, MSSQL_ASSOC)) { ... }

现在,问题是查看 $row 我看到名为 customer_social_sequrity_number 的列成为键 customer_social_sequrity_numbe。所有其他键似乎都被缩减为 29 个字符。这是一个限制吗?我找不到有关此类限制的任何信息。

这有点麻烦,因为我从第 3 方数据库导入数据并使用数组的键将数据映射到对象。

似乎不是 PHP 方面的限制。 SQL Server 部分可能有一些限制吗?使用 MS 查询分析器 运行查询似乎没问题。

最佳答案

我找到了问题的答案。似乎在 Windows 中,使用了 Microsoft 的 DBLIB,并且返回列名的函数基于 DBLIB 中的 dbcolname() 函数。 DBLIB 显然是为 SQL Server 6 开发的,其中列名的最大长度为 30。因此,最大列长度为 30 个字符。

在这里您可以获得一个 Windows 版本的 FreeTDS,它有望解决这个问题:http://docs.moodle.org/en/Installing_MSSQL_for_PHP#Using_FreeTDS_on_Windows

在 Linux 上这也不是问题,它只影响 Windows

关于php - SQL Server 使用 PHP 返回的列名称被截断为 29 个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4658510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com