Hallo,
sorry für die Überschrift, aber im Titel ist nicht genug Platz für eine treffende.
Folgende Gegebenheiten:
- Maschine mit Win XP Pro (full updated) 32bit.
- Apache 2.2.0
- PHP 5.1.1
- MySQL 5.0.18
Problem:
In einer db befinden sich sog. Unworte. Worte also die, wenn sie in ein HTML-Formular eingegeben wurden, nicht weiterverarbeitet werden sollen. Auch nicht, wenn sie nur Teil eines anderen Wortes sind.
Beispiel:
in der db steht der Eintrag ‚piss‘. ‚Bepisst‘ soll also gleichermassen geblockt werden wie ‚verpiss‘ oder ‚Pisser‘.
Ich code also drauf los und weil die Eingabe aus dem Formular höchstens 20 Zeichen weit sein können und die Einträge der Unworte in der db überschaubar sind hatte ich folgene Lösund ausgearbeitet :
$unwort = $_POST[‚unwort‘];
$unwort = strtolower($unwort);
$abfrage = "SELECT unworte
FROM unwort
WHERE unworte LIKE ‚%$unwort%‘
";
?>
Es funktioniert nicht!
Ich habe wer-weiss-wieoft schon mit LIKE gearbeitet. Nie gabs Probleme.
Und nun???
Witzigerweise funktioniert aber
//$unwort = $_POST[‚unwort‘];
//$unwort = strtolower($unwort);
$abfrage = „SELECT unworte
FROM unwort
WHERE unworte LIKE ‚%piss%‘“; //Variable ersetzt mit exaktem Wert
?>.
Kann sich jemand einen Reim darauf machen?
Gruß widecrypt