multiple keyword match with db_like
You can build your query while looping through each keyword and adding this as an OR condition.

$db_or = db_or();
$query = db_select('my_table', 'mt');
$query-&gt;fields('mt');

foreach ($keywords as $keyword) {
    $db_or-&gt;condition('my_column', '%' . db_like($keyword) . '%', 'LIKE');
}

$query-&gt;condition($db_or);
$results = $query-&gt;execute()-&gt;fetchAllKeyed();