glinky Posted September 2, 2009 Share Posted September 2, 2009 Hello, I´m making a script to search a database for a certain word and I´m using this query: $query = "SELECT * FROM contents WHERE text LIKE '%$searchDb%'"; It works fine but I would like to know if there is a way to find out the exact word it founds. For example if I search for "econom" it will return a text where exists the word economy. Is there a way to know the word it based its search on? I mean...without using lots of array explodes and stuff like that... Is there a simple elegant way of doing this? (sorry if this is a stupid question!) Help apreciated Thanks Quote Link to comment https://forums.phpfreaks.com/topic/172772-sql-query-return-word-found-in-db/ Share on other sites More sharing options...
ignace Posted September 2, 2009 Share Posted September 2, 2009 Is there a way to know the word it based its search on? You already know that, it's $searchDb. The query finds economy because you passed econom% where % matches any arbitrary number of characters meaning that it would also return economist if you wanted to limit your search to one character after econom you would use _ which would match economy but not economist the same applies for the preceding % more information about pattern matching can be found at http://dev.mysql.com/doc/refman/5.0/en/pattern-matching.html If you are familiar with regex you may find more information about the regex implementation in mysql at http://dev.mysql.com/doc/refman/5.0/en/regexp.html#operator_regexp Quote Link to comment https://forums.phpfreaks.com/topic/172772-sql-query-return-word-found-in-db/#findComment-910789 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.