one4zero,
// Это лишнее...
$q = mb_strtolower ($q , 'UTF-8' );
$n = strtolower( $q );У тебя в explode уже стоит strtolower и не нужно его еще использовать, если хочешь чтобы искало ключи с пробелами, то поменяй знак в explode на запятую например
explode( ',' , strtolower( $n ) )но возникает проблема, теперь уже придется ключи в запросе писать через запятую.