Moin,
Die Daten kommen aus einem HTML Eingabefeld (input und textarea) und sollen in einer MYSQL-Datenbank gespeichert werden.
Sofern das ein normales input
oder eine textarea
ist, kommen die Daten also einem Reintext-Kontext in den SQL-Kontext. Da kannst du das SQL-Statement unter Verwendung von mysqli_real_escape_string
zusammenbauen oder besser: Du verwendest prepared statements.
Ich möchte z.B., dass in der DB auch die echten Anführungszeichen (" oder ') und nicht die HTML-Zeichen (") gespeichert werden.
Die HTML-Entitäten sind nur im Textfeld, wenn eine Nutzerin sie dort einträgt. Es gibt aber neben den ASCII-Anführungszeichen auch noch „die ‚deutschen‘“ oder »die ›Gänsefüßchen‹« …
Ich bin mir unsicher, ob das ein Sicherheitsrisiko ist, wenn ich die Variable vor dem Speichern in der DB nur mit mysqli_real_escape_string sichere.
Bei der Verwendung der Escape-Funktion kann dir natürlich beim Zusammenbauen des Statements noch an anderer Stelle ein Fehler unterlaufen. Mit prepared statements kannst du zumindest für die einzufügenden Werte vorsorgen.
Viele Grüße
Robert