Hallo,
ich versuche gerade eine Full Text Search in MySQL zu erstellen. Das hat soweit auch gut funktioniert. Wenn ich meine Query direkt in SQL teste, erhalte ich die gewünschten Ergebnisse. Zum Beispiel:
Leider funktioniert die Abfrage jedoch nicht wie gewünscht, wenn ich meine daraus erstellte JSON abrufen möchte. Ich bekomme die Suchwörter per GET aus der URL (das ganze natürlich per PDO):
Rufe ich nun also
URL/search.php?term=suchwort1 suchwort 2
auf erhalte ich Ergebnisse, in denen sowohl "suchwort1" als auch "suchwort2" vorkommen. Ich möchte aber natürlich, wie in meiner SQL Abfrage ganz oben, nur Ergebnisse, in denen beide Suchworte vorkommen.
Selbst wenn ich folgende URL aufrufe
URL/search.php?term=+suchwort1 +suchwort 2
liefert es mir Ergebnisse mit suchwort1 ODER suchwort2 zurück.
Gibt es eine Möglichkeit, den AND Operator (+) direkt in den :term zu integrieren?
Vielen Dank schon mal
ich versuche gerade eine Full Text Search in MySQL zu erstellen. Das hat soweit auch gut funktioniert. Wenn ich meine Query direkt in SQL teste, erhalte ich die gewünschten Ergebnisse. Zum Beispiel:
Code:
SELECT id, artikelnummer, name FROM products WHERE MATCH (artikelnummer, name) AGAINST ("+suchwort1+suchwort2" IN BOOLEAN MODE)
Leider funktioniert die Abfrage jedoch nicht wie gewünscht, wenn ich meine daraus erstellte JSON abrufen möchte. Ich bekomme die Suchwörter per GET aus der URL (das ganze natürlich per PDO):
Code:
// Create query
$query = 'SELECT id, artikelnummer, name FROM products WHERE MATCH (artikelnummer, name) AGAINST (:term IN BOOLEAN MODE)';
// Prepare statement
$stmt = $this->conn->prepare($query);
// Bind term
$stmt->bindParam(':term', $this->term);;
// Execute query
$stmt->execute();
return $stmt;
Rufe ich nun also
URL/search.php?term=suchwort1 suchwort 2
auf erhalte ich Ergebnisse, in denen sowohl "suchwort1" als auch "suchwort2" vorkommen. Ich möchte aber natürlich, wie in meiner SQL Abfrage ganz oben, nur Ergebnisse, in denen beide Suchworte vorkommen.
Selbst wenn ich folgende URL aufrufe
URL/search.php?term=+suchwort1 +suchwort 2
liefert es mir Ergebnisse mit suchwort1 ODER suchwort2 zurück.
Gibt es eine Möglichkeit, den AND Operator (+) direkt in den :term zu integrieren?
Vielen Dank schon mal