2016-05-24 13 views
1

Ich möchte eine Suchleiste erstellen, die den Produktnamen und Product Owner auflisten könnte.SQL LIKE aus mehreren Tabelle

Tabelle ITEM besteht aus pID (FK aus PROFIL), itemName und itemDate

Tabelle PROFILE bestehen aus pID, Vornamen und Nachnamen

Zunächst '%$Keurig%' die vermeintlichen '%$searchtag%' sein (der Wert von der Suchleiste übergeben).

Da es jedoch nichts zeigte, entschied ich mich, '%$Keurig%' zu verwenden, um herauszufinden, was passiert ist.

Es stellte sich heraus, es zeigte auch nichts.

Hier ist, was ich schrieb:

SELECT I.itemName,P.firstName,P.lastName 
     FROM `ITEM` I, `PROFILE` P 
     WHERE I.pID=P.pID AND I.itemName LIKE '%$Keurig%' 

Es soll einen Benutzernamen John drucken, weil er der einzige, der Keurig besitzt ist.

Jeder weiß, was ich falsch gemacht habe? Vielen Dank.

+0

warum '' $ hinzugefügt in '% $ Keurig%' – Vinie

+0

Try LIKE '% Keurig%' 'statt. MySQL funktioniert als Teilstringsuche. – 1000111

+0

Das macht Sinn. Warum funktioniert es nicht, wenn ich es wieder auf "% $ seetag%" ändere? – MasAdam

Antwort

1

Entfernen Sie $ von '%$Keurig%'. Versuchen Sie, diese

SELECT I.itemName,P.firstName,P.lastName 
    FROM `ITEM` I, `PROFILE` P 
    WHERE I.pID=P.pID AND I.itemName LIKE '%Keurig%' 

Mit $searchtag Somthing versuchen, wie diese

$sql = "SELECT I.itemName,P.firstName,P.lastName 
    FROM `ITEM` I, `PROFILE` P 
    WHERE I.pID=P.pID AND I.itemName LIKE '%".$searchtag."%'"; 
+0

Aber warum, wenn ich zurück in "% $ seetag%" ändere, funktioniert es nicht? – MasAdam

+0

Siehe aktualisierte Antwort. – Vinie

+0

Sie müssen Ihr Suchtag in Abfrage – Vinie