Hallo
ich habe einen langen Text den ich über einem Formular eingebe und diesen mittels pdo in eine sql Datenbank schreibe.
Den String behandele ich so: htmlspecialchars(htmlentities($_POST['text']));
- Für die Übergabe in einen SQL-Kontext ist diese Behandlung falsch.
- Die Verschachtelung von
htmlentities
inhtmlspecialchars
ist prinzipiell mindestens unsinnig.
Für die Übergabe der Eingabe in den SQL-Kontext hat Raketenwilli schon die korrekten Stichworte geliefert. Die Maskierung von kritischen Zeichen erfolgt bei der Ausgabe in HTML mit der Funktion htmlspecialchars
. Die maskiert alle Zeichen, die im HTML-Kontext einer Behandlung bedürfen.
Folgende Meldung bekomme ich:
Fatal error: Uncaught PDOException: SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect string value:
Wie Raketenwilli schon sagte, ein Roman (Incorrect string value
) ist kein gültiges Datumsformat (Invalid datetime format
).
Tschö, Auge
200 ist das neue 35.