"LIKE"-Abfrage erweitern?

preko

Erfahrenes Mitglied
Hi,

ich habe folgende Codezeilen, bei denen ich die "LIKE"-Abfrage auf alle Spalten erweitern möchte:
PHP:
$sql_query = "SELECT 
		            *
      	     FROM 
            		`kunden` 
               WHERE		
            		`name`
               LIKE	
            		'%$search%'
    ";
Es soll also nicht nur in der Spalte "name" gesucht werden, sondern z.B. auch in den Spalten "vorname", "kundennr", etc. nach dem gleichen Suchbegriff - kurz gesagt in der ganzen Datenbanktabelle.


Wie müsste ich das korrekt formulieren?

Beste Grüße,
preko
 
Meines Wissens gibt es für solche Fälle keinen Universalselekotr, sodass alle Spalten einzeln angegeben werden müssen.

Wende dich übrigens bitte das nächste Mal mit einem datenbankbezogenen Anliegen an das Datenbank-Forum. Dort wäre es besser aufgehoben.
 
Hallo, habe ich das richtig verstanden, dass man bei Where ´name´ auch noch weitere Spalten angeben kann und in denen dann auch gesucht wird?
 
son gohan hat gesagt.:
Hallo, habe ich das richtig verstanden, dass man bei Where ´name´ auch noch weitere Spalten angeben kann und in denen dann auch gesucht wird?

Ja.

Code:
SELECT * FROM tabelle WHERE spalte1 LIKE '%wort%' AND spalte2 LIKE '% wort%'

mfg
forsterm
 
Hi, wenn man eine AND Erweiterung benutzt, besteht dann nicht die Gefahr, dass nur bei übereinstimmung aller Spalten mit Suchergebnissen etwas ausgegeben wird, also wenn in der einen was gefunden wird und in der nächsten nicht dann bedeutet das doch false?

Müsste man nicht eher mit OR erweitern?

PHP:
SELECT * FROM tabelle 
WHERE spalte1 
LIKE '%wort%' 
OR
spalte2 LIKE '% wort%'

und wäre folgende Abfrage nicht auch möglich:

PHP:
SELECT * FROM tabelle 
WHERE spalte1, spalte2, spalte3 
LIKE '%wort%'
 
[…] wenn man eine AND Erweiterung benutzt, besteht dann nicht die Gefahr, dass nur bei übereinstimmung aller Spalten mit Suchergebnissen etwas ausgegeben wird […]
Es besteht nicht nur die Gefahr, sondern es ist schlicht logisch.

Ob letztgenannte Abfragedefinition möglich ist, ließe sich leicht prüfen: einfach testen. Mir ist solch eine Syntax allerdings nur bei der Volltextsuche bekannt.
 

Neue Beiträge

Zurück