PHP, MSSQL varchar spalte gibt nur 255 zeichen her.

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

PHP, MSSQL varchar spalte gibt nur 255 zeichen her.

Postby cue » 02. August 2006 10:45

Hallo!

Wir haben eine MSSQL Datenbank und eine Tabelle die ich mit PHP auslesen möchte.

Das besondere hier ist eine Spalte mit dem Typ varchar(800), wenn ich in Text konvertieren möchte, gehen Zeichen verloren.

PHP übernimmt von dieser Spalte nur die ersten 255 Zeichen, der Rest ist abgeschnitten. Habe gelesen dass dies von PHP ausgeht:
http://de.php.net/manual/en/ref.mssql.php#55679

ich hab schon die "ntwdblib.dll" von windows\system32 nach xampp\php verschoben. (dort war eine ältere version, die ich ersetzt habe)

wie kann ich TDS von windows updaten?

hat jemand schon das gleiche problem gehabt?

mit JSP kann man alles auslesen! (gleicher SQL Syntax)
cue
 
Posts: 18
Joined: 08. May 2006 10:24

Postby cpoint » 02. August 2006 11:20

Hi,

könnte man nicht statt des Datentyps: VARCHAR den Datentyp: LONGTEXT nehmen?

VARCHAR lässt nur 255 Zeichen zu, während LONGTEXT 2 hoch 32 Zeichen zulässt.

Sollte doch änderbar sein mit PHPMYADMIN, oder irre ich?
cpoint
 
Posts: 43
Joined: 17. November 2004 18:21

Postby Wiedmann » 02. August 2006 13:41

cue wrote:wie kann ich TDS von windows updaten?

Leider kann ich dir bei deinem Problem nicht wirklich helfen. Aber:
FreeTDS kannst du unter Windows nicht updaten, da unter Windows nicht FreeTDS für den Zugriff benutzt wird, sondern die Microsoft eigene Client-Bibiothek ("ntwdblib.dll").

Hast du schon mal im Bugsystem von PHP geschaut ob du was findest (unter Windows!)?

cpoint wrote:Sollte doch änderbar sein mit PHPMYADMIN, oder irre ich?

"cue" benutzt MSSQL und nicht MySQL.

cpoint wrote:VARCHAR lässt nur 255 Zeichen zu, während LONGTEXT 2 hoch 32 Zeichen zulässt.

Das trifft nur für MySQL bin Version 5 zu. Ab Version 5 sind es bei VARCHAR 65535 Zeichen. (255 zu benutzen ist natürlich im Moment trotzdem eine gute Idee)
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby cue » 04. August 2006 08:57

danke!

die von dir genannte dll datei werde ich austauschen!

hab einen workaround gefunden, mit diesem SQL Syntax kann man substrings auslesen und fügt diese einfach zusammen. bissi blöd aber es funktioniert.

Code: Select all
// anzahl der zeichen auslesen.
SELECT LEN(SPALTENNAME) AS STRLEN
                     FROM TABELLENNAME
                     WHERE SPALTENNAME = 1

// muss immer um 255 erhöht werden bis sie höher ist als die vorhandenen zeichen.
$position 1

// substrings auslesen
SELECT SUBSTRING(SPALTENNAME,$position,255) AS STR
                     FROM SPALTENNAME
                     WHERE ID = 1
cue
 
Posts: 18
Joined: 08. May 2006 10:24


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 40 guests