Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Full Text Search InnoDB - problem ze fraza
zaajcu
post
Post #1





Grupa: Zarejestrowani
Postów: 206
Pomógł: 3
Dołączył: 18.08.2011
Skąd: Chrzanów

Ostrzeżenie: (0%)
-----


Cześć wszystkim

mam mały problem z zapytaniem sql do fulltext. Problemem jest jak user na końcu frazy da znaczek + lub -

  1. AND MATCH(name) AGAINST('Brosz* +MARIA+ a+' IN BOOLEAN MODE)


Błąd jaki generuj

Database_Exception [ 42000 ]: SQLSTATE[42000]: Syntax error or access violation: 1064 syntax error, unexpected $end

Czy jest jakieś sposób aby to przeszło i wyszukało np pies+ kot po wpisaniu pies+?

Jak nie to pozostaje usuwać ostatni znak z stringa jeżeli + lub -
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
zaajcu
post
Post #2





Grupa: Zarejestrowani
Postów: 206
Pomógł: 3
Dołączył: 18.08.2011
Skąd: Chrzanów

Ostrzeżenie: (0%)
-----


Już się z tym uporałem, dzięki za chęci (IMG:style_emoticons/default/wink.gif)

Mam jeszcze pytanie z innej beczki,

Jak zrobić aby fulltext przeszukiwał nie zależnie od polskich znaków czyli "który" i "ktory" daje ten sam wynik?

baza jest postawiona na utf8_polish_ci

Kod do mysql

  1. SELECT MATCH(name) AGAINST('kółko' IN BOOLEAN MODE) AS matching, product.id AS id, product.warehouse_id AS warehouse_id, product.customer_id AS customer_id, product.warehouse_category_id AS warehouse_category_id, product.code AS code, product.name AS name, product.product_description AS product_description, product.width AS width, product.height AS height, product.depth AS depth, product.set_description AS set_description, product.curent_quality AS curent_quality, product.is_damaged AS is_damaged, product.damage_quality AS damage_quality, product.damage_description AS damage_description, product.is_deleted AS is_deleted, product.is_for_rent AS is_for_rent, product.rent_price_netto AS rent_price_netto, product.rent_type AS rent_type, product.is_for_3d AS is_for_3d, product.file_3d_extension AS file_3d_extension, product.buying_cost AS buying_cost, product.renovation_cost AS renovation_cost
  2. FROM products AS product
  3. WHERE
  4. is_deleted = '0'
  5. AND warehouse_id = '12'
  6. AND MATCH(name) AGAINST('kółko' IN BOOLEAN MODE)
  7. HAVING matching > 0.200000
  8. ORDER BY matching DESC, name
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 06:08