Jump to content

Sql query - return word found in DB?


glinky

Recommended Posts

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

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

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.