Guten Abend,
ich habe mich in letzter Zeit viel um das Thema Datenbanken etc. gekümmert. Speziel um eine Frage:
Wie sollte man am besten die Daten behandeln BEVOR die Daten in die Datenbank kommen? Einige sagen dazu, man sollte die Funktion htmlspecialchars() benutzen, andere sagen das ist quatsch - man sollte lieber die funktion mysql_real_escape_string() benutzen. Andere wieder sagen, man sollte beide Funktionen verwenden?
Soweit ich mich jetzt schon einlesen konnte, ist die funktion mysql_real_escape_string() dafür da sonderzeichen wie ' zu escapen. Die funktion htmlspecialchars() ist dazu da sonderzeichen wie ' zu entfernen (wenn der optionale parameter ENT_QUOTES gesetzt ist).
Die Frage um die es eig. geht ist also, in welcher Form man die Datenbank am besten bringen sollte. Sollte man lieber die Funktion mysql_real_escape_string() benutzen, um Daten im klartext mit allen Zeichen in die DB zu bringen, um sie erst beim auslesen mit htmlspecialchars() zu benutzen oder sofort mit der funktion htmlspecialchars() um sich dann bei der Ausgabe darum nicht mehr zu kümmern?
Derzeit lasse ich folgende Funktionen über meine Daten laufen bevor sie gespeichert werden:
1. htmlspecialchars() + 'ENT_QUOTES'
2. trim()
3. stripslashes()
ist da mysql_real_escape_string() doch noch wichtig? ich bin überfragt, weil wirklich jeder etwas anderes sagt. Ich hoffe ihr könnt mich nun endlich aufklären, wie die Daten am besten in der Datenbank aufgehoben sind und mit welchen Funktionen sie vorher und nachher behandelt werden sollen.
Frank