Você não poderia simplesmente fazer algo como
...WHERE Query LIKE "%$search%' AND Query <> '$search'...
? Não diferencia maiúsculas de minúsculas:
Query LIKE "%$search%' AND STRCMP(Query, '$search') == 0
...WHERE Query LIKE "%$search%' AND Query <> '$search'...
? Query LIKE "%$search%' AND STRCMP(Query, '$search') == 0