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
htmlentitiesinhtmlspecialcharsist 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.