• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Mysql zwei Datenbank Abfragen verbinden

Backfighter

Neues Mitglied
Hallo liebes Forum :D,
Ich weiß das es möglich ist Datenbankabfragen zu verbinden, aber ich weiß leider nicht genau wie ich das anstellen soll :/
Ich möchte, das meine Suche sowohl den Eintrag(das Kommentar) mit Volltext und der Benutzername, das Datum und der Titel mit LIKE gesucht werden.
Also wie verbinde ich diese zwei Abfragen?
PHP:
SELECT * FROM kommentare WHERE MATCH eintrag AGAINST ('".$_SuchWort."')
PHP:
SELECT * FROM benutzer WHERE Benutzername,Datum,Titel LIKE '%".$_SuchWort."%'
und noch ne Frage zu LIKE, wenn ich die Spalten so mit einem Komma verbinde gibt es dann nur einträge zurück, bei denen das Suchwort mit allen drei(Benutzername,Datum,Titel) übereinstimmen?
Wenn ja muss ich es dann anstatt so mit OR schreiben oder?

Vielen Dank für eure Hilfe im vorraus =)
 
Werbung:
PHP:
SELECT * FROM benutzer WHERE Benutzername,Datum,Titel LIKE '%".$_SuchWort."%' OR WHERE MATCH eintrag AGAINST ('".$_SuchWort."')

so ?

PHP:
WHERE Benutzername,Datum,Titel LIKE '%".$_SuchWort."%'
Gibt das nur einträge aus, bei denen das Suchwort mit allen drei(Benutzername,Datum,Titel) übereinstimmt?
 
Werbung:
Das solltest Du ja inzwischen schon getestet haben. Und nein, das wird gar nichts ausgeben da das Statement falsch ist. Du bist aber nahe dran:

Code:
SELECT * FROM benutzer 
WHERE 
 Benutzername LIKE '%".$_SuchWort."%' 
 OR Datum LIKE '%".$_SuchWort."%' 
 OR Titel LIKE '%".$_SuchWort."%' 
 OR MATCH eintrag AGAINST ('".$_SuchWort."')

Das könnte man wiederum etwas kürzen, aber es sollte für dich erstmal ersichtlich sein wie es überhaupt klappt.
 
Z.B. indem man die Strings aus allen Feldern verbindet und das Gesamtkonstrukt dann durchsuchst:

Code:
SELECT * FROM benutzer 
WHERE 
 CONCAT(Benutzername,' ' , Datum,' ', Titel ) LIKE '%".$_SuchWort."%' 
 OR MATCH eintrag AGAINST ('".$_SuchWort."')

Was aber imho nur funktioniert, wenn kein Integer- oder Datums-Feld dazwischen ist.
 
Werbung:
Zurück
Oben