これを試してください
WHERE contact_first_name IN (".implode(', ', array_fill(0, count($search), '%s')).") OR contact_last_name IN (".implode(', ', array_fill(0, count($search), '%s')).")
更新
この質問に対する正解は、クエリは正しいです。動的パラメータが間違っているため、クエリ構文が間違っています。 それは実際にはこの回答のすぐ下のコメントセクションにあったので、受け入れられた回答とマージしました!