Je dirais qu'ici, votre structure de données n'est pas bonne.
Ce serait une meilleure solution de ne pas stocker plusieurs valeurs dans un champ en utilisant un format séparé par des virgules, mais d'utiliser trois tables, définies de cette façon :
searchtestidname
keywordsidword
keywords_searchtestid_keywordid_searchtest
Avec cela, rechercher des entrées dans searchtest qui ont des mots-clés spécifiques serait aussi simple que :
select searchtest.*, keywords.*
from searchtest
inner join keywords_searchtest on keywords_searchtest.id_searchtest = searchtest.id
inner join keywords on keywords.id = keywords_searchtest.id_keyword
where keywords.word = 'test2'
Et, en plus, vous devrez rechercher des entrées de test de recherche avec un nom spécifique :
select *
from searchtest
where name = 'trophy1'