PHP和SQL Server - 字段名称被截断

too*_*php 1 php sql-server-2005

我发现来自我的SQL Server的结果会截断字段名称:

$query = "SELECT some_really_really_long_field_name FROM ..."
...
print_r($row);

array(
    'some_really_really_long_field_n' => 'value'
)
Run Code Online (Sandbox Code Playgroud)

有谁知道如何避免这种行为?

我认为数据库驱动程序是ADODB.

因此您不必计算:字段名称被截断为31个字符.

SQL Server似乎并不介意长字段名称,所以我只能假设在ADODB驱动程序中某处有一个char [32]字符串缓冲区,它不能包含长名称.

TML*_*TML 5

您可能正在使用这个已有十年历史的,已弃用的捆绑MSSQL客户端.使用Microsoft的PHP新MSSQL驱动程序或从MSSQL服务器CD安装MSSQL客户端工具.

  • "返回列名的函数基于DBLIB中的dbcolname()函数.DBLIB是为SQL Server 6.x开发的,其中最大标识符长度为30.因此,最大列长度为30个字符." (2认同)