in reply to Search 2 columns

Did you print out your SQL statements and run them in the command line SQL client? It's very hard to tell you anything without seeing the input data, table data and the "various ways" you tried and how they failed. What is %d,%d supposed to be in the LIMIT clause?

The multiword searches will obviously not work because your string will look like:

SELECT name,address,city,phone FROM valley WHERE CONCAT_WS(' ',keywords,category) LIKE '%Antiques Dealers%' ORDER BY name LIMIT %d,%d

when your table could contain

Dealers with Antiques

Maybe you wanted something (horribly inefficient) like:

SELECT name,address,city,phone FROM valley WHERE keywords LIKE '%Antiques%' AND keywords LIKE '%Dealers%' ORDER BY name LIMIT %d,%d

Most likely, you're better off taking advantage of the full text search features of your database or by normalizing the keywords in your database, for example by ordering them alphabetically:

SELECT name,address,city,phone FROM valley WHERE keywords LIKE '%Antiques%Dealers' ORDER BY name LIMIT %d,%d -- if all keywords are always ordered alphabetically