multiple keyword match with db_like I am using db_select for database query, following code works fine when $keyword is any string 

 $result = db_select('my_table', 'mt')
        -&gt;fields('mt')
        -&gt;condition('my_column', '%' . db_like($keyword) . '%', 'LIKE')
        -&gt;execute()
        -&gt;fetchAllKeyed();


How can I make the same query working when $keyword is suppose to be an array of strings like ("del","mum") ,if my_column is location column so query will return me places like Delhi, Mumbai.
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();