I see a couple of trouble spots in this,
first mysql will make both your conditions fail, because it wont explode into an array via a space nor will search_keyword be "", so your search wont execute.
I think it will be worth your time to read up on "FULL TEXT" searching as you wont have to seperate your values into an array.
Another thing I saw is that you are exploding a row of ID's fetched from a database, which means you are using comma seperated values in a database.
It's a common thing alot of people do in the beginning but it's a big red flag when it comes to database design as the results will get unmanageable, unpredictable, you cant easily update or delete records and it will slow your queries. Also read up on "one to many" and "many to many" relationship articles you can find all over the web.
Also, when searching unless you really want to get specific, it's best to use a comparative function like fulltext or "Select * where A LIKE B" rather then "A = B", if you are searching whting in a field of text. You can also read up on LIKE in the mysql manual.
Also, you are doing a query for each keyword, which will KILL your search time
it's smarter to do JOINS on the table to minimize seeks.
JOIN's can be tricky at first but there are numerous advantages to them.