Ich habe entdeckt, dass die Ergebnisse von meinem SQL Server kommen, werden die Feldnamen, die gekürzt:PHP & SQL Server - Feldnamen abgeschnitten
$query = "SELECT some_really_really_long_field_name FROM ..."
...
print_r($row);
array(
'some_really_really_long_field_n' => 'value'
)
Wer weiß, wie dieses Verhalten zu vermeiden?
Ich denke, der Datenbanktreiber ist ADODB.
Sie müssen also nicht zählen: Die Feldnamen werden auf 31 Zeichen gekürzt.
SQL Server scheint nicht die langen Feldnamen an sich zu kümmern, so kann ich nur vermuten, dass es irgendwo im ADODB-Treiber einen char [32] String-Puffer gibt, der die langen Namen nicht enthalten kann.
"Funktionen, die einen Spaltennamen zurückgeben, basieren auf der Funktion dbcolname() in DBLIB. DBLIB wurde für SQL Server 6.x entwickelt, wobei die maximale Bezeichnerlänge 30 beträgt. Aus diesem Grund beträgt die maximale Spaltenlänge 30 Zeichen. " – TML
Das hat wirklich gut funktioniert. –