Существует 2 варианта.
Тут либо так
$search = explode(" ", $str);
foreach($search as $word){
$sql[] = 'name LIKE %'.$word.'%';
$sql[] = 'sname LIKE %'.$word.'%';
}
$sql = 'SELECT * FROM clients WHERE '.implode(" OR ", $sql);
либо регулярные выражения с помощью RLIKE (присущий только Mysql)
$search = str_replace(" ","|",$str);
$sql = 'SELECT * FROM clients WHERE name RLIKE "'.$search.'" OR sname RLIKE "'.$search.'"';