ciao a tutti, ho bisogno di fare una ricerca su un sito e devo poter cercare più parole in più campi, non so se avete capito, lo spiego meglio:

prendiamo ad esempio che nel campo cerca scrivo 'mario rossi 0171' devo trovare tutti gli utenti che tra nome, cognome, telefono e email abbiano tutte quelle parole.

Il mio metodo è il seguente:
codice:
$vsSql="select * from utenti";
$vlQry=mysql_query($vsSql,$vlDb) or die (mysql_error());
$trovato=1;
while($vaRow=mysql_fetch_array($vlQry,MYSQL_ASSOC))
{
  $stringa=$vaRow[nome].' '.$vaRow[cognome].' '.$vaRow[tel].' '.$vaRow[email];
  $stringa2 = explode (" ", $_GET[cerca] );
  foreach ($stringa2 as $parola)
  {
    if(stristr($stringa,$parola))
    {}
    else
    {$trovato=0;}
  }
  if($trovato)
  {
    echo $vaRow[id];
  }
}
il problema è che ci sono circa 500.000 utenti e la ricerca a volte impiega ache più di 40-50 secondi. Avete un metodo alternativo? o qualche correzione?