Tom: nl2br() - str_replace() Problem

Beitrag lesen

Hello,

Versteh immo leider nur Bahnhof.. .
Ist ne MySQL DB und das Feld hat den 'TEXT' Attribut.. .
Also soweit kein Problem.

Sprechweise: Die Spalte hat den Spaltentyp 'Text' :-)
Zum Wegschreiben von Texten oder auch Bildern in den Datensatz über die SQL-Schnittstelle (= Textschnittstelle) müssen die Daten vorher "escaped" werden. Jedes DBMS hat dafür andere Vorschriften.

Bei MySQL sind es die Zeichen   NUL, LF, CR, ", ', , SUB

die in der Schnittstelle Sonnderbedeutung haben, und daher vor der Übergabe an diese "entschärft" werden müssen. Sonst kann die Schnittstelle die Daten nicht sauber an die DB übergeben.

http://dev.mysql.com/doc/refman/5.0/en/mysql-real-escape-string.html
http://de2.php.net/manual/en/function.mysql-real-escape-string.php
http://de.wikipedia.org/wiki/Steuerzeichen

Wenn man mit einem Blockpuffer arbeitet (Prepared Statements), ist diese Behandluhng nicht notwendig, da das System dann ja weiß, welches der Speicherbereich der Daten-Variable ist.

In der Datenbank stehen dann in beiden Fällen nur die reinen Daten. Das Escaping wird von der Schnittstelle beim Eintragen in den Buffer wieder entfernt.

Ein harzliches Glückauf

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de