Textfeld in MySQL speichern
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
aufnehmen
auslese
code
dank
datenbank
datenmenge
datum
eintragen
entfernen
format
jemand
richtig nutzen
sicherheit
speichern
statement
string
text
textfeld
umwandeln
url
-
Hallo,
ich habe ein Frage.
Wie soll man am besten ein mehrzeiliges Textfeld ( kann auch html code ) enthalten in der MySQL Datenbank speichern.
Ich habe gefudnen, das es "zwei" Datentypen dafür gibt. Einmal "Blob" und "Text" und natürlich die ganzen Ausprägungen dazu welche größere Datenmengen aufnehmen können.
Blob muss man auf jeden Fall beim speichern von Dateien nehmen, dass ist mir klar.
Aber welches ist der geeignetere Datentyp für ein mehrzeiliges Textfeld ?
Danke
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
"TEXT" eignet sich dafür. Das ist speziell dafür geschaffen
"TEXT" beinhaltet kodierte Daten, also UTF-8 kodiert zum Beispiel, und das ist für Texte das einfachste. BLOB enthält binäre Datenwerte. Da müsstest du den Text also erst umwandeln und dann speichern, und beim auslesen wieder umwandeln, um das ganze richtig nutzen zu können, und das wäre zu umständlich. Darum "TEXT".
Liebe Grüße -
Bei BLOB bist du auf jedenfall falsch, BLOB benutz man für binäre Daten, damit kannst du Bilder, Videos oder Audiodaten in eine Datenbank schreiben.
Das kommt drauf an wie groß das Textfeld ist, aber Text ist im Grunde richtig. -
Vielen Dank
Muss ich dabei noch etwas beachten ? oder reicht es einfach im SQL Statement die Variabel zu übergeben ?
danke
lg -
Bei Text solltest du überprüfen lassen, ob jemand injektions übergeben möchte. Also die übergebenen Variablen per
htmlentities
und
mysql_real_escape_string()
damit hast du schon etwas Sicherheit hinzugewonnen. -
vctb schrieb:
Das
Bei Text solltest du überprüfen lassen, ob jemand injektions übergeben möchte. Also die übergebenen Variablen per
undhtmlentities
mysql_real_escape_string()
sparst du dir besser beim Eintragen in die Datenbank... was passiert sonst, wenn du dich mal entscheidest die Daten in einem anderen Format als HTML auszugeben? Dann müsstest du jedes Mal die htmlentities wieder entfernen.htmlentities
Wirklich wichtig ist beim "in die DB eintragen" nur
, damit keine SQL-Injections durchgeführt werden können. Allerdings nutzt dir das auch erst dann was, wenn du den String im SQL-Statement in Anführungszeichen (mysql_real_escape_string()
) setzt.'
htmlentities solltest du erst bei der Ausgabe verwenden, um Cross-Site-Scripting (XSS) zu verhindern. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage