Esteba: Probleme bei Suchfunktion wegen Sicherheitsmaßnahmen

Beitrag lesen

»»» In der Datenbank sollten nur Roh-Daten gespeichert werden und dazu müssen diese auch so ankommen im Script.

Vermutlich machen schon die magic quotes Schwierigkeiten. Wenn die eingeschaltet sind
http://www.php.net/manual/en/function.get-magic-quotes-gpc.php
dann müssen sie erst wieder entfernt werden.

Erst anschließend kannst Du mysql_real_escape_string() auf die Daten anwenden, bevor sie an die Textschnittstelle der MySQL-Datenbank übergeben werden.

Anschließend stehen in der DB nur noch Rohdaten

Vielen Dank, das hat mir jetzt wirklich sehr weitergeholfen. Dass ich mir die Slashes in der Datenbank auch sparen kann, wusste ich noch nicht, wahrscheinlich hat da bei meinen ersten Erfahrungen mit diesen Sicherheitsvorkehrungen auch magic quotes für Verwirrung gesorgt. Das Problem wäre jedenfalls gelöst.

Eine Frage hätte ich aber noch. Wenn die Sucheingabe des Benutzers ein % oder ein _ enthält, werden in bestimmten Fällen mehr Ergebnisse gefunden als eigentlich sollten, weil diese in dem "LIKE"-Teil ja als Platzhalter für "eine beliebige Zeichenkette" bzw. "ein beliebiges einzelnes Zeichen" interpretiert werden. Wie verhindere ich das und ermögliche gleichzeitig, dass man Prozentzeichen und Underscores bei der Suche findet? Gibts da auch eine Möglichkeit, das irgendwie zu "escapen"?