Chris: Datenzustand und -behandlung

Beitrag lesen

Hallo,

Gegeben sei: String 'mit' einfachen Anführungszeichen
mysql_real_escape_string() macht daraus: String 'mit' einfachen Anführungszeichen
damit der INSERT-Befehl am Ende so aussehen kann:
  INSERT ... VALUES ('String 'mit' einfachen Anführungszeichen', ...)

Die Maskierungen sind ausschließlich für die Textschnittstelle der DB wichtig. Wenn man den Datenblock formatgerecht und direkt (also ohne SQL-Schnittstelle) an die DB übergeben würde, wären auch keine Maskierungen notwendig, denn dann wüsste die DB schließlich genau, was Daten und was Befehlsworte (Somderzeichen)  sind.

Folglich verschwinden die Maskierungen auch an der Schnittstelle wieder und werden nicht mit abgespeichert.

Trotzdem muss Du (Guma) auch für die Anzeige im Browser Maßnahmen ergreifen. Der verträgt nämlich auch nicht alle Zeichen.

Universell für den HTML-Kontext (also nicht für Dialogfelder) wäre da

echo nl2br(htmlentities($datenwert_aus_db,ENT_QUOTES));

Formatierende Leerzeichen müssten ggf. noch separat behandelt werden.

LG
Chris