Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Habe ein kleines Problem, wir haben seit lägerem im Intranet u.a. HTML-Formulare mittels PHP erzeugt und die laufen auch ganz gut. Nun ist es aber vorgekommen das in bestimmten Feldern mal mehr als 255 Zeichen eingetragen wurden/werden. Fakt ist es kommen aber nur 255 Zeichen in der DB an, was definitiv nicht an der DB liegt (das Feld hält wesentlich mehr aus). Es scheint also, als ob in die PHP-Variable nur 255$ Zeichen "reinpassen" und dann einfach abgeschnitten wird ?

Wie kann ich das umgehen bzw. richtigstellen :confused:

Geschrieben

Lo Schledo,

Eine normale php Variable verträgt ganz sicher mehr als 255 zeichen. Hast du die Variable vielleicht irgendwie auf 255 beschränkt ? (Falls das in PHP überhaupt geht).

Falls es wirklich nicht an der Datenbank liegt (Feld als varchar deffiniert ?) Kann auch sein, daß das Textfeld des HTML Formulares auf 255 Zeichen beschränkt ist.

Gruß

Fraggy

Geschrieben

Also so ähnliche Gedanken habe ich mir auch schon gemacht, aber woran liegt das nun ?

A.Datenbank. Sicherlich nicht, denn das Feld ist mit nvarchar 1000 deklariert.

B. HTML-Textarea. Möglicherweise, hat da jemand ne Ahnung ?

C. PHP-Variable. Glaub ich einfach nicht.

Das Problem / Phänomen muss doch bekannt sein :confused:

Geschrieben
nvarchar wird von PHP nicht unterstützt.

Ähm, nicht unterstüzt kann jawohl auch nicht wirklich sein, denn ich verwende ziemlich viele andere Felder auch mit nvarchar und das problemlos. Ich mache jetzt mal ein paar Test die mir weiterhelfen könnten ...

Geschrieben

Also ich habe jetzt einige Tests gemacht und festgestellt, das die Texte eigentlich ordentlich in die Datenbank geschrieben werden, der Fehler liegt mehr beim Auslesen/Anzeigen der Daen, da wird nämlich "abgeschnitten" nach dem 255ten Zeichen.

Denke das dies wohl an der Inkompatibilität mit nvarchar liegen könnte (die dann nur ab 255 Zeichen vorhanden wäre) daran liegen könnte.

Jetzt habe ich allerdings eine Fragebezüglich der Umstellung auf den Feldtyp Text. Ich hatte vorher bzw. habe im Moment den Typ nvarchar 1000, was ausreicht, wenn ich allerdings auf TExt umstelle, so habe ich maximal Text 16 im "Angebot", wieviele Zeichen sind das letztendlich bzw. wie ist diese Größenangabe gemeint ? Nicht das mit das was von den aktuellen Texten abgeschnitten wird, das wäre ziemlich schlimm.

Geschrieben

Verwenden im Betrieb den SQL-Server 2000, hat schon seine Gründe ...

Stimmt eigentlich, das mit varchar wäre ne Möglichkeit :rolleyes: Werde ich gleich mal (natürlich erst nach der Mittagspause) versuchen ...

Geschrieben

Versuch mit varchar fehlgeschlagen, in der DB stehen nach wie vor die Texte mit weit mehr als 255 Zeichen drinne, nur beim Auslesen kommen in den Variablen nur 255 an ....

Weitere Ideen :confused:

Geschrieben

Kannst du die Codezeilen zum Auslesen mal posten per copy&paste?

Am besten gleich die komplette Datei posten, wenn da nichts Firmeninternes drinsteht. (Ansonsten die Stellen weglassen)

Denn vielleicht liegts ja doch ganz woanders.

CU

Tachyoon

Geschrieben

Die ganze Ausgabedatei ist denke ich durch viele Sonderoptionen zu groß für hier, aber die wesentlichen Auslesevorgänge aus der DB sind diese (auf wesentliche gekürzt) :

$sqlanfrage = "SELECT TOP $limit * FROM $tabelle WHERE $bedingung AND $id NOT IN (SELECT TOP $offset $id FROM $tabelle WHERE $bedingung ORDER BY $sortierung) ORDER BY $sortierung";

$ergebnis = mssql_query($sqlanfrage)

$zeile = mssql_fetch_row($ergebnis)

... die entspr. Text werden dann in einer HTML-Tabelle / Zelle ausgegeben ...

Grundlegende Fehler ausgeschlossen, denn Skript schon recht lange in ständigem Betrieb. (Und nicht wundern warum ich oben eine Verschachtelung gewählt habe anstatt einfach nur die LIMIT-Klausel, diese gibt es nämlich bei meinem SQL-Server nicht ;) )

Geschrieben

Hast du auch mal ne Extra-PHP Datei erstellt und dir $ergebnis bzw. $zeile alleine anzeigen lassen (ohne alles andere - Minimaleinstellug halt)? Noch immer dasselbe?

Wenn ja, mußt du wohl oder übel mal alle textartigen Variablentypen zum Auslesen (z.B. auch Memo) durchprobieren.

Wenn nicht, stellst du vielleicht mit einer der angesprochenen Sonderoptionen die maximal verfügbare (oder auch nur anzeigbare?) Länge auf 255 Zeichen ein. Dann darfst du die große Datei durchsuchen.

CU

Tachyoon

Geschrieben

Nein, das hilft mir alles nicht weiter. Einzel ist es genau das selbe Problem. Und die angesprochenen Sonderoptionen wirken sich nur auf den Seitenaufbau anhand der Daten aus und nicht auf die Daten selbst.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...