Я обнаружил, что в результатах, поступающих с моего SQL Server, имена полей усечены:
$query = "SELECT some_really_really_long_field_name FROM ..."
...
print_r($row);
array(
'some_really_really_long_field_n' => 'value'
)
Кто-нибудь знает, как избежать этого поведения?
Я думаю, что драйвер базы данных ADODB.
Так что вам не нужно считать: имена полей усекаются до 31 символа.
SQL Server, похоже, не заботится о длинных именах полей, поэтому я могу только предположить, что где-то в драйвере ADODB есть строковый буфер char [32], который не может содержать длинные имена.