Salve a tutti.

io ho questo script
Codice PHP:
    <?php    
if ($_POST['search']){
if (!empty(
$_POST['keywords'])) {
$searchStr str_replace(" ""."htmlentities($searchStrENT_QUOTES));
$searchStr $_POST['keywords'];
if (
ereg("^[a-zA-Z0-9' ]+$"$searchStr)) {

mysql_connect($host,$user,$password)or die("non riesco a connettermi");
mysql_select_db($database)or die("non riesco a selezionare il database");

print 
"

Risultati per  \"
$searchStr\"<hr>

</p>"
;
$keys explode(" "$searchStr);
for (
$x 0$x count($keys); $x++) {
$querystr "SELECT * FROM articoli WHERE testo = \"$keys[$x]\" OR testo LIKE \"%$keys[$x]%\"";
$result mysql_query($querystr);
if (
$frow mysql_fetch_array($result)) {
$found true;
do {
//echo "" . $frow["titolo"] . " di ".$frow["autore"] . "

 
Url di download del driver...   ".$frow["url"]."
</p>";
echo "
<table border='0' cellpadding='0' height='30' cellpadding='20'>";
echo "
<td bgcolor='#bfbbbb'>" . $frow["titolo"] . "</td>";
echo "
<td bgcolor='#a79c9c'>" . $frow["autore"] . "</td>";
echo "
<td bgcolor='#bfbbbb'>" . $frow["OS"] . "</td>";
echo "
<td bgcolor='#bfbbbb'>" . $frow["url"] . "</td>";
echo "
</table>";
} while (
$frow = mysql_fetch_array($result));
}
}
if (!
$found) {
print("
Nessuna corrispondenza trovata
");
}

}
else {
print("
La stringa di ricerca contiene caratteri non permessi
");
}
}
else {
print("
Nessuna stringa di ricerca rilevata
");
}
}
?>
Fa la ricerca in un database MYSQL nel campo Titolo di una tabella. Ora il mio problema è che se inserisco uno spazio vuoto nel campo di ricerca , mi mostra tutto il contenuto del mio database, e se inserisco nel campo di ricerca 2 parole divise da uno spazio ripropone nuovamente tutto il database.

ESEMPIO

Nel DB esiste una tabella con 3 campi " ID , NOME , MATRICOLA "
nel database sono presenti 5 righe:

1 MARIO ROSSI 1234
2 MARIA ROSSI 1235
3 FRANCESCA ROSSI 1236

Se faccio la ricercha di MARIO, ottengno " 1 MARIO ROSSI 1234 "
ma se cerco MARIO (spazio) , o MARIO (spazio) ROSSI, ottengo :
1 MARIO ROSSI 1234
2 MARIA ROSSI 1235
3 FRANCESCA ROSSI 1236

Questo perchè presumo che l'algoritmo in mio possesso interpreti lo SPAZIO come un carattere da cercare nel database, e trovandolo in tutti i record li ripropone .. come faccio a far capire dal motore che MARIO ROSSI deve essere trasformato in MARIO+ROSSI ? e quindi visualizzare solo la riga inerente a MARIO ROSSI xD.

Vi ringrazio per l'eventuale aiuto e spero di essere stato chiaro
Ciao