Auge: Langen Srting in Datenbank schreiben ->Fatal error: Uncaught PDOException: SQLSTATE[22007]

Beitrag lesen

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 in htmlspecialchars 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.