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 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 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
Archived
This topic is now archived and is closed to further replies.