MySQL search comma separated keywords I have keywords column in my table and there are comma (,) separated values. example: hello, world

I have search engine with same codes:

$search = $_GET ['search'];

$query = $db-&gt;prepare("SELECT COUNT(*) as num FROM table WHERE keywords LIKE ?");
$query-&gt;bindValue(1, "%$search%", PDO::PARAM_STR);
$query-&gt;execute();

$sql = $db-&gt;prepare("SELECT * FROM table WHERE keywords LIKE ? LIMIT $start , $limit");
$sql-&gt;bindValue(1, "%$search%", PDO::PARAM_STR);
$sql-&gt;execute();


When I type only 'hello' or only 'world' in my search bar, there is result, but if I type both words together, like 'Hello world' there is no result.

EDIT:
I edited my codes for FULL TEXT SEARCH

$query = $db-&gt;prepare("SELECT COUNT(*) as num FROM table WHERE MATCH (id,keywords) AGAINST ('$search*' IN BOOLEAN MODE)");
$query-&gt;execute();


and

$sql = $db-&gt;prepare("SELECT * FROM table WHERE MATCH (id,keywords) AGAINST ('$search*' IN BOOLEAN MODE) LIMIT $start , $limit");
$sql-&gt;execute();


It works better, but now I get some irrelevant results. Is there any way to filter results and order they relevance?
Thanks
If you must keep keywords as a CSV, you can use FIND_IN_SET().

SELECT COUNT(*) as num 
FROM table 
WHERE FIND_IN_SET('hello', keywords) 
AND FIND_IN_SET('world', keywords);