I'm a little unclear what your are asking. If you want to implement this yourself to achieve a specific functionality in PHP, here's the SQL knowledge you need:
SELECT * FROM table
WHERE title LIKE '%north%'
this finds all entries where the title contains 'north'
SELECT * FROM table W
HERE title LIKE 'north%'
this finds all entries where the title starts with 'north'
SELECT * FROM table W
WHERE (title LIKE 'north %' OR title LIKE '% north %' OR title LIKE '% north')
this finds all entries where the title contains the word north
SELECT * FROM table
WHERE (description LIKE '% vacation %' OR description LIKE 'vacation %' OR description LIKE '% vacation')
AND (description NOT LIKE '% bahamas %' AND description NOT LIKE 'bahamas %' AND description NOT LIKE '% bahamas')
this finds all entries where the description contains the word 'vacation' and not the word 'bahamas'
However, if you need a more complicated (that handles case-insensitive queries), robust or efficient solution, go with Bill Karwin's answer.