Kezdőoldal » Számítástechnika » Programozás » PHP match_against nem talál...

PHP match_against nem talál meg karakterláncot, csak ha 100%-ig egyezik a találat. Miért?

Figyelt kérdés

Érdekes, mert a többi adatbázismezőben működik, akkor is megtalálja a rekordot, ha csak egy részét írom be. Egy bizonyos mezőben (nevezzük mondjuk cikkszam-nak) azonban csak akkor, ha teljes egyezés van. A mezők típusa ugyanolyan (varchar).


Kódrészlet:


...FROM termekek WHERE match(termek_nev,tipus_nev,cimkek,cikkszam) against ('".$searchterm."' IN BOOLEAN MODE)


Az összesben működik a %LIKE%-szerű keresés, csak az utolsóban nem.



2015. aug. 26. 13:31
1 2
 1/11 A kérdező kommentje:
Hülyeséget írok közben, hiszen SQL-parancs. Bocsi, a kérdés lényege ugyanaz.
2015. aug. 26. 13:32
 2/11 anonim ***** válasza:
Ne nevezzük cikkszámnak, mert értelmetlenné válik a példa. A cikkszámnál pont hogy a teljes egyezés az ildomos. Nevezd el máshogyan.
2015. aug. 26. 13:35
Hasznos számodra ez a válasz?
 3/11 A kérdező kommentje:
Miért, egy cikkszámnak nem lehet egy részletét beleírni a keresőbe? Rendszeresen így szoktam keresni egy másik rendszerben.
2015. aug. 26. 13:47
 4/11 anonim ***** válasza:
De ha a like megy miert nem azt hasznalod?
2015. aug. 26. 15:28
Hasznos számodra ez a válasz?
 5/11 A kérdező kommentje:
Tudtommal a match in boolean mode sokkal gyorsabb.
2015. aug. 26. 15:53
 6/11 A kérdező kommentje:
Esetleg valaki tud segíteni az aktuális problémán is?
2015. aug. 27. 10:12
 7/11 anonim ***** válasza:
És az a cikkszám numerikus vagy string?
2015. aug. 27. 21:53
Hasznos számodra ez a válasz?
 8/11 A kérdező kommentje:
A mezők típusa ugyanolyan (varchar).
2015. aug. 27. 22:08
 9/11 A kérdező kommentje:

Rájöttem, mi a probléma:


*-ot használod a keresett kifejezés végén, tehát ha a keresett szó "alma", akkor a "lma" keresés nem ad ki semmit, ellenben az "alm" az igen.


Ahogy nézem a dokumentációt, erre nincs is lehetőség ebben a fajta keresésben.


Az egyetlen megoldás, ha nincs találat, akkor meghívom ugyanazt LIKE '%"alma"' szintaxissal.

2015. szept. 10. 21:02
 10/11 anonim ***** válasza:
Mindenre van lehetőség, csak meg kell tanulni a reguláris kifejezéseket. Kicsit bonyolultabbak, mint a like meg a %, de cserébe elképesztően rugalmasak.
2015. szept. 11. 07:56
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!