הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   בעיה קטנה בשאילתת LIKE (https://hosts.co.il/forums/showthread.php?t=82646)

servil 17-05-10 17:59

בעיה קטנה בשאילתת LIKE
 
שלום...
כנסו בבקשה לכאן:
http://www.polishp.co.il/forum.php?action=forum

תרשמו ביבת חיפוש את המחרוזת "אבן".
זה ימצא לכם נושא בשם "פוליש בירושלים". כנסו אליו...
תריצו חיפוש בד הזה למילה "אבן"....אין!
השאילתה מציגה גם נושאים שאין בהם את המחרוזת שהוקלדה..
נכון שהיא מוצאת את כל הנושאים בהם יש את המחרוזת...אבל נותנת גם כאלו שאין...

לעניות דעתי אין בעיה בכתיבת השאילתה, הנה היא:
קוד:

SELECT * FROM `forum` WHERE (`subject`!='') AND (`message` LIKE '%".$_POST["search"]."%' OR `subject` LIKE '%".$_POST["search"]."%')
אז מה יכולה להיות הבעיה?

תודה רבה.

Itay 17-05-10 18:34

אני לא רואה בעיה עם השאילתה.. בכל שאר הנושאים יש את המילה "אבן"?
ובלי קשר לזה - השאילתה שלך ממש לא מאובטחת, תקרא על זה
http://www.php.net/manual/en/securit...-injection.php

בעקרון נראה לי שיספיק שתשתמש ב-mysql_escape_string על הערכים שאתה משתמש בהם בחיפוש, אבל עדיין תקרא את זה..

servil 17-05-10 18:52

בסדר אחי עוד לא סיימתי אני יודע על מה אתה מדבר...

אז מה לגבי הבעיה שלי??
בנושא שציינתי אין את המילה אבן בוודאות...

תודה

Shay Ben Moshe 17-05-10 19:24

אולי אין בנושא ויש בmessage?

RS324 17-05-10 20:00

לפעמים שאילתת LIKE עם שתי %% עושה בעיות (אני מאמין שזה קצת תלוי בגרסא של ה MYSQL)

בכל מקרה בגלל שאתה משתמש ב %% אתה יכול להשתמש ב = %%
או שתנסה LIKE בלי ה %%

יש מצב גם שהשאילתה שלך נופלת בגלל שלא מתקיים תנאי אחר...

servil 17-05-10 20:35

"אולי אין בנושא ויש בmessage?" - בדקתי, ואין...
RS324 - ניסיתי להוריד לגמריי את האחוזים וזה פשוט לא מחזיר תוצאות.
ולגבי זה שלא מתקיים תנאי אחר...אז מה?שלא יחזיר תוצאות פשוט..

מישהו יכול להעלות השעות אחרות?:)

Itay 17-05-10 21:41

השאילתה בסדר גמור, לא אמורה להיות בעיה שתגרום לזה להציג את הנושא שדיברת עליו.. אולי הבעיה היא במקום אחר, או סתם משהו שבמקרה הציג רק את הנושא הזה בטעות. בחיפושים אחרים זה גם קורה?

servil 18-05-10 11:00

כן יש כל מיני חיפושים שזה עושה בעיות...בעיקר חיפושים בעלי מילה אחת ולא איזה משפט ספציפי שברור שיש פעם אחת בכל הפורום אז הוא מציג רק תוצאה אחת...


כל הזמנים הם GMT +2. הזמן כעת הוא 23:21.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ