Ralf Rapude: MySQL select mit like

Beitrag lesen

Hallo Forum,
ich bin gerade dabei meine erste etwas größere PHP/MySQL Anwendung zu programmieren und bin dabei auf ein kleines Problem gestoßen, das ich zwar prinzipiell gelöst habe, aber mit dessen Lösung ich nicht wirklich froh bin, weil der select string dann endlos wird und ich mich gefragt habe, ob das nicht vielleicht auch etwas eleganter geht.

Es geht um folgende beispielhafte Abfrage:
"SELECT name,vorname FROM daten WHERE name LIKE '%$x%' OR vorname LIKE '%$x%'"
Das ist, wie gesagt, nur ein Beispiel, denn bei der Anwendung geht es darum, das in einer Adress-Datenbank der User die Möglichkeit haben soll, in allen Feldern entweder nach der id, einem Teil des Namens oder der Telefonnummer usw. nach diesem Eintrag zu suchen.

Die Tabelle hat jetzt allerdings ca. 10 Felder und das bedeutet ja, ich muß jedesmal "OR LIKE" ausformulieren. Gibt es nicht vielleicht eine Lösung die das ganze etwas verkürzt? Irgendwie sowas wie "switch" oder ähnliches? Zuerst hatte ich ja folgendes versucht:
"SELECT name,vorname FROM daten WHERE name,vorname LIKE '%$x%'"
Das erschien mir relativ logisch, funzt aber natürlich nicht. Weiß von euch also jemand eine Möglichkeit? Oder sind solche SQL-Abfragen eher unüblich?

Vielen Dank und Grüße
Ralf