php — Поиск по MySQL по нескольким словам

Существует 2 варианта.

Тут либо так

<><strong>  $search = explode(" ", $str);</strong>

<strong>  foreach($search as $word){</strong>
<strong>      $sql[] = ' LIKE %'.$word.'%';</strong>
<strong>      $sql[] = 'sname LIKE %'.$word.'%';</strong>
<strong>  }</strong>
 <strong> $sql = 'SELECT * FROM clients WHERE '.implode(" OR ", $sql);</strong>
</>

либо регулярные выражения с помощью RLIKE (присущий только Mysql)

<strong><code>$search = str_replace(" ","|",$str);
$sql = 'SELECT * FROM clients WHERE name RLIKE "'.$search.'" OR sname RLIKE "'.$search.'"';</code></strong>


Запись навигация

Top