when you use the LIKE operator, you need to say "where X like Y"
your query was missing the X part, which is why i asked which column
you say "the columns specified in the select statement" but of the seven of them, i'm gonna go out on a limb and guess that all the columns with "id" in their names are numeric, and therefore
not likely to be the subject of a LIKE query
furthermore, i'm also going to do some more thinking for you, and suggest that you probably don't want to require that the same keyword be present in both of the remaining columns, but rather, in at least one of them, which means that you require an OR construction
Code:
WHERE descriptions.cat_id = #sp1_id#
AND descriptions.subcat_id IN (#sp2_id#)
AND descriptions.loc_id IN (#sp3_id#)
AND (
descriptions.busname_display LIKE '%#main_keyword#%'
OR descriptions.public_address3 LIKE '%#main_keyword#%'
)