Frage zu den Suchenfunktionen

Projekte der phpBB.de-Community und Feedback zu phpBB.de.
Antworten
Benutzeravatar
jasc
Ehemaliges Teammitglied
Beiträge: 2497
Registriert: 24.05.2001 02:00
Wohnort: Hergensweiler bei Lindau/B

Frage zu den Suchenfunktionen

Beitrag von jasc »

Also ich weiß jetzt nicht, ob das schon mal jemand erwähnt hat, ich kann mich nicht dran erinnern.
Also wenn ich hier im Forum nach message_die() suche, geht das ohne Probleme. Gebe ich das selbe allerdings bei der KB-Suche ein, erhalte ich folgenden Fehler:
Fehlermeldung hat geschrieben: Fehler beim Ausführen der Suchanfrage

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ')), 1, 0) AS relevance FROM kb_articles a JOIN kb_categories

SELECT a.category_id, c.title AS category_title, a.id, a.title, a.description, a.create_time, a.author, a.author_user_id, a.author_email, (match(a.title, a.description, a.content) AGAINST('message_die()' IN BOOLEAN MODE)) + count(distinct k.keyword) + if(((a.title LIKE '%message_die%')))), 1, 0) AS relevance FROM kb_articles a JOIN kb_categories c ON (a.category_id = c.id) LEFT JOIN kb_keywords k ON (a.id = k.article_id AND ((k.keyword LIKE 'message_die'))))) WHERE match(a.title, a.description, a.content) AGAINST('message_die()' IN BOOLEAN MODE) OR ((a.keywords LIKE '%message_die%')))) GROUP BY a.id ORDER BY relevance DESC LIMIT 10

Line : 30
File : /webs/sascha/root/www/phpbb.de/doku/kb/search.php
Ich gehe davon aus, dass die beiden Klammern () den Fehler verursachen. Jetzt wollte ich einfach mal wissen, ob das ein Bug in der KB ist oder ob das einfach an einer unterschiedlich programmierten Suchfunktion liegt?

Schon mal danke für eure Antworten :-).


Grüße,
Markus aka jasc
Benutzeravatar
itst
Ehrenadmin
Beiträge: 7418
Registriert: 21.08.2001 02:00
Wohnort: Büttelborn bei Darmstadt
Kontaktdaten:

Beitrag von itst »

Die KB benutzt eine ähnliche Suche wie das Forum.

Dieser Fehler sieht mir wie ein Bug im Parsing der Suchterme aus. Will dig into it.
Sascha A. Carlin,
phpBB.de Ehrenadministrator
:o
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Das Problem liegt daran, daß Klammern für Suchbedingungen à la php AND (documentation OR manual) verwendet werden - feldname='message_die' OR () ist in SQL schließlich auch nicht gültig. Da ich momentan nicht die Zeit habe, die Funktion genauer unter die Lupe zu nehmen, werden ( und ) jetzt aus dem Suchstring entfernt. Es ist sowieso generell zu empfehlen, Sonderzeichen u.ä. wegzulassen, da sonst nur Ergebnisse gefunden werden, in denen exakt diese Zeichenkombination vorkommt
Antworten

Zurück zu „Community Talk“