Leerzeichen bei MSSQL-Abfrage

Leerzeichen bei MSSQL-Abfrage

am 15.12.2005 15:27:50 von Marcel Kreider

Hallo NG!

Bei der Ausgabe von Datensätzen aus einer MSSQL-DB wird komischerweise
ein Leerzeichen ausgegeben, sobald das abgefragte Feld einen leeren
String in der DB enthält. Ist das Feld NULL kommt es nicht zu diesem
Fehler.
Auf meinem Entwicklungssystem (Apache unter Win2k / PHP Version 4.2.2 /
mssql Library version 7.0 / MSSQL Server 2000) tritt das Problem nicht
auf.
Auf dem Live-System (IIS 6.0 unter Win2003 / PHP Version 4.3.11 / mssql
Library version 7.0 / MSSQL Server 2000) allerdings, existiert diese
massive Problem.
Ich suche nach einer globalen Lösung, da ich nicht den ganzen Code
nach Ausgaben absuchen kann, um dann evtl. über trim() die Ausgaben in
die korrekte Form zu bringen.

Ich bin für jeden Tipp dankbar!
Marcel

Re: Leerzeichen bei MSSQL-Abfrage

am 20.12.2005 10:05:19 von Marcel Kreider

Marcel Kreider schrieb:

> Hallo NG!
>
> Bei der Ausgabe von Datensätzen aus einer MSSQL-DB wird komischerweise
> ein Leerzeichen ausgegeben, sobald das abgefragte Feld einen leeren
> String in der DB enthält. Ist das Feld NULL kommt es nicht zu diesem
> Fehler.

Laut PHP-Team von bugs.php.net ist dies kein Fehler. Ab Version 4.3.4
werden leere Felder aus der DB mit einem Leerzeichen zurückgegeben, da
bis zu dieser Version autotrim aktiviert war. Zum Nachlesen unter:
http://bugs.php.net/bug.php?id=3D26315&edit=3D3

Ob dies nun ein Bug ist oder nicht, ich denke darüber lässt sich
streiten, wobei die Rückgabe eines Leerzeichens, von einem Feld,
welches eine leere Zeichenkette enthält, schon als Fehler zu
bezeichnen ist. Fakt ist, das es sicherlich Anwendungen gibt, die nach
dem Wechsel in eine PHP-Version ohne autotrim nicht mehr fehlerfrei
funktionieren und eine ini - Einstellung dafür gibts leider nicht!

Gruß Marcel