tu peux utiliser LIKE en SQL pour recherche un bout de texte a l'interieur d'une colonne la colonne (Code dans ton cas) mais attention, c'est un peu plus long. Pour contrer ce phénomène, tu peux mettre le resultat en cache (valable 24h ou plus)
SELECT * FROM ma_table WHERE Code LIKE "%function toto()%";
et MySQL est intélligent, si tu lui demande dans un WHERE de DABORD trier par language, il ne fera son like que sur le premier jeu de résultat (ex que la catégorie php) ce qui augmente concidérablement sa vitesse d'execution
SELECT * FROM ma_table WHERE language = "php" AND tags = 'admin' AND (nom LIKE "%ma_recherche%" OR content LIKE "%ma_recherche%" OR description LIKE "%ma_recherche%");