Richtige Art und Weise zu entkommen und Anzeige von strings in Formulare mit CodeIgniter

Ich habe ein web-Formular, akzeptieren Sie Informationen über ein Buch (Titel, Autor, Beschreibung, etc). Ich habe mit CodeIgniter aktiven Datensatz db-Klasse legen Sie die Informationen, und haben nicht entging der Abfragen, weil die von CodeIgniter Dokumentation behauptet, tun dies bereits (siehe hier).

So, hier ist das problem:, Wenn ich eine stellen in einem Titel wie "A Boy' s Guide To The World", hat ein Apostroph, es ist entkommen und richtig eingeführt in die Datenbank. Allerdings, wenn ich es in eine form, wie:

<input type="text" name="title" <?php if (isset($book)) { echo "value='" . $book->name . "' "; ?> />

Es zeigt nur an "Ein Junge" als Titel. Ich verstehe, warum der Apostroph ist zu brechen, und kann sich vorstellen, eine Reihe von Möglichkeiten, es zu beheben, aber was ist die richtige Art von Umgang mit dieser Art von Szenario?

Wie immer, vielen Dank für Ihre Zeit und wissen!

  • keine Ahnung, über CI, aber im Allgemeinen es htmlspecialchars($value,ENT_QUOTES)
  • warum hast du tag-Ihre Frage mit mysql?
  • Ich denke, um zu zeigen, dass ich beim einfügen in eine mysql-Datenbank als würde ich mir vorstellen, dass die Flucht-syntax kann unterschiedlich sein in verschiedenen Datenbank-Sprachen.
  • Sie sind dem einfügen der Daten in HTML-form, nicht die Datenbank.
  • Ich habe das tag entfernt. Ich hoffe, das hilft.
InformationsquelleAutor JamieHoward | 2013-05-20
Schreibe einen Kommentar