Abfrage über mehrer MySQL-Felder
phil k.
- php
0 Dieter Raber0 phil k.
0 Götz
Hi,
wie kann ich denn eine Abfrage über mehrere Felder hinweg realisieren.
In einem Feld suchen geht problemlos. Das mache ich so:
$abfrage = "SELECT * FROM filme WHERE Name ='$suchen' ";
Wie kann ich denn jetzt noch 2 oder 3 Felder hinzufügen.
Mein Versuch der nichts gebracht hat:
$abfrage = "SELECT * FROM filme WHERE (Name, Vorname, Anrede)'$suchen' ";
Gruß
Phil
Hallo phil,
Je nach dem, was Deine Bedingungen sind mit OR oder AND
...WHERE feld_a = 'begriff' OR feld_b = 'begriff' etc
oder
..WHERE feld_a = 'begriff' AND feld_b = 'begriff' etc
Da Du anscheinend eine Filmdatenbank nach einem Begriff durchsuchen willst, kaeme auch
WHERE feld_a LIKE '%begriff%' OR feld_b LIKE '%begriff%' in Frage
Gruß,
Dieter
Hallo Dieter,
besten Dank es geht.
Hallo Phil!
wie kann ich denn eine Abfrage über mehrere Felder hinweg realisieren.
Du solltest Dir mal ein SQL-Tutorial anschauen.
$abfrage = "SELECT * FROM filme WHERE Name ='$suchen' ";
Schau Dir doch mal "dclp FAQ: 16.14. Warum soll ich nicht SELECT * schreiben?" an.
$abfrage = "SELECT * FROM filme WHERE (Name, Vorname, Anrede)'$suchen' ";
Was immer das auch sein soll, korrektes SQL ist es meiner Ansicht nach nicht.
Wie schon gesagt, lern erstmal SQL Grundlagen.
MfG
Götz
Hallo Götz,
danke für Deine Antwort. Ich hab das select * rausgenommen und alle Felder so rein geschrieben. Einen Vorteil seh ich zwar nicht, aber wenn's denn korrekt ist warum nicht.
Gruß
Phil
yo,
Ich hab das select * rausgenommen und alle Felder so rein geschrieben. Einen Vorteil seh ich zwar nicht, aber wenn's denn korrekt ist warum nicht.
zwei vorteile davon sind, dass zum einen nicht unerwartet spalten angezeigt werden, die du dort nicht haben willst, zum beispiel weil später eine zusätzliche spalte hinzugefügt wurde. und zum anderen muss dass dbms nicht erst selbst die namen der tabelle "raussuchen", was performance kosten würde.
Ilja