MySQL Teilstringvergleich

Folgendes Szenario. Ich habe eine MySQL Tabelle buch, in der ich einiger meiner Computerbücher eingetragen habe.
Auf einer Seite habe ich ein Formular erstellt, dass die Suchanfrage entgegen nimmt und an eine PHP-Datei schickt, die dann das Suchergebnis ausgibt.
Soweit funktioniert das auch. Wenn man den Titel (zum Beispiel “HTML 3.2”) exakt eingibt, findet er auch den Datensatz.
Jetzt habe ich allerdings gelesen, dass man auch einen Teilstringvergleich anstellen kann. Soll heißen, man kann dann anstatt “HTML 3.2” einfach “HTML” eingeben und MySQL findet den Datensatz trotzdem. Man muss wohl bei der Datenbankabfrage einfach das = durch ein LIKE ersetzen. Bei mir kommt dann im PHP-Quelltext folgendes raus:

[php]$befehl = “select * from buch where titel LIKE “$stitel” OR autor LIKE “$sautor” OR verlag LIKE “$sverlag”
OR isbn LIKE “$sisbn” OR kategorie LIKE “$skategorie” OR schlagwort LIKE “$sschlagwort”;”;
$ergebnis = mysql_query($befehl, $verbindung);[/php]

Aber das klappt nicht! Es funktioniert weiterhin nur, wenn ich den exakten Titel eingebe (also “HTML 3.2”). Und nun würde ich gerne wissen, warum das nicht geht.

Auf meinem Webserver ist MySQL 3.23.49a installiert. (Vielleicht brauche ich für LIKE ja MySQL 4??)

Ich hoffe, ihr könnt mir helfen…

Bolle

P.S.: Ich hoffe, mal dass ich das richtige Forum gefunden habe. Für MySQL oder Datenbanken gibts ja nix. :rolleyes:

Leave a Reply

Your email address will not be published. Required fields are marked *