Purtroppo non mi capacito.
Se lancio il seguente codice:

codice:
<html>
<head>
<title> Ricerca </title>
</head>

<body>

<h2> Ricerca </h2>
<body>
<form action= './search.php' method='get'>
<input type='text' name='k' size ='50'value='<?php echo $_GET['k'];?>' >
<input type='submit' value='Search'>
</form>
<hr />

<?php

  
  $k = $_GET['k'];

  $terms = explode(" ", $k);
  $query = "SELECT * FROM Opera WHERE ";
    foreach ($terms as $each){
	
	//$i++;
	
	//if($i == 1)
	
	 $query .= "TipoOpera LIKE '$each' OR Titolo LIKE '$each' OR Tecnica LIKE '$each' OR Anno LIKE '$each' OR Collocazione LIKE '$each' OR AreaCompetenza LIKE '$each' OR Altezza LIKE '$each' OR Larghezza LIKE '$each' OR Profondita LIKE '$each' OR Durata LIKE '$each' OR  TitoloOriginale LIKE '$each' OR TitoloInternazionale LIKE '$each' OR GenereFilm LIKE '$each' OR AutoreFotografia LIKE '$each' OR AutoreScenografia LIKE '$each' OR FormaMusicale  LIKE '$each' OR Tonalita  LIKE '$each' OR IdentificativoOpera LIKE '$each' OR PrimaEsecuzione LIKE '$each' OR Organico LIKE '$each' OR InformazioniLibretto LIKE '$each' OR Incipit LIKE '$each' OR IncipitModerno LIKE '$each' OR DataCreazione LIKE '$each' OR DataUltimaModifica LIKE '$each' ";
	 echo $query;
	//else
	//	echo $query .= "OR keywords LIKE '%$each%' OR title LIKE '%$each%' OR description LIKE '%$each%' OR link LIKE '%$each%'";
	
	}




//connect
mysql_connect("localhost","root", "db09");
mysql_select_db("Tesi");


$query = mysql_query($query);
$numrows = mysql_num_rows($query);
if($numrows>0){
  while($row=mysql_fetch_assoc($query)){
	$TipoOpera= $row['TipoOpera'];
	$Titolo = $row['Titolo'];
	$Tecnica= $row['Tecnica'];
	
	
	//stampiamo i nostri dati

	
	echo "tipo: $TipoOpera
";
	echo "titolo: $Titolo
";
	echo "tecnica: $Tecnica
";
	

	}



}
	

else
        echo "Nessun risultato per la chiave: \"$k\"";
	echo mysql_error();
	



//disconnet
mysql_close();

?>
</body>
</html>
senza immettere alcun carattere in ricerca ottengo:
nella barra degli indirizzi in alto:
codice:
http://localhost/Tesi/pages/search.php?k=
e visualizzo (ho messo un echo nella query):
codice:
SELECT * FROM Opera WHERE TipoOpera LIKE '' OR Titolo LIKE '' OR Tecnica LIKE '' OR Anno LIKE '' OR Collocazione LIKE '' OR AreaCompetenza LIKE '' OR Altezza LIKE '' OR Larghezza LIKE '' OR Profondita LIKE '' OR Durata LIKE '' OR TitoloOriginale LIKE '' OR TitoloInternazionale LIKE '' OR GenereFilm LIKE '' OR AutoreFotografia LIKE '' OR AutoreScenografia LIKE '' OR FormaMusicale LIKE '' OR Tonalita LIKE '' OR IdentificativoOpera LIKE '' OR PrimaEsecuzione LIKE '' OR Organico LIKE '' OR InformazioniLibretto LIKE '' OR Incipit LIKE '' OR IncipitModerno LIKE '' OR DataCreazione LIKE '' OR DataUltimaModifica LIKE '' tipo: C
titolo: casa
tecnica: pittura
tipo: C
titolo: la monaca
tecnica: scultura
tipo: M
titolo: idea
tecnica: bizarre
tipo: C
titolo: il libro
tecnica: manoscritto
mentre se la ricerca la eseguo con questo file che punta su un altro data base:
codice:
<html>
<head>
<title> Ricerca </title>
</head>

<body>

<h2>Ricerca </h2>
<form action= './search.php' method='get'>
<input type='text' name='k' size ='50'value='<?php echo $_GET['k'];?>' >
<input type='submit' value='Search'>
</form>
<hr />

<?php


  $k = $_GET['k'];

  $terms = explode(" ", $k);
  $query = "SELECT * FROM search WHERE ";
	foreach ($terms as $each){
	
	//$i++;
	
	//if($i == 1)
	
	 $query .= "keywords LIKE '$each' OR title LIKE '$each' OR description LIKE '$each' OR link LIKE '$each'";
         echo $query;
	//else
		//echo $query .= "OR keywords LIKE '%$each%' OR title LIKE '%$each%' OR description LIKE '%$each%' OR link LIKE '%$each%'";
	
	}




//connect
mysql_connect("localhost","root", "db09");
mysql_select_db("tutorials");


$query = mysql_query($query);
$numrows = mysql_num_rows($query);
if($numrows>0){
  while($row=mysql_fetch_assoc($query)){
	$id= $row['id'];
	$title = $row['title'];
	$description= $row['description'];
	$keywords = $row['keywords'];
	$link = $row['link'];
	
	echo "<h2>$title</h2>
	$description

";
}



}
else
	echo "Nessun risultato per la chiave: \"$k\"";


//disconnet
mysql_close();

?>
</body>
</html>
e non inserisco alcun campo lanciando lanciando la query senza immettere alcun carattere ottengo:
codice:
http://localhost/prova/search.php?k=
e visualizzo (ho messo un echo nella query):
codice:
SELECT * FROM search WHERE keywords LIKE '' OR title LIKE '' OR description LIKE '' OR link LIKE ''Nessun risultato per la chiave "
Come mai questa discrepanza? Perché ottengo nel primo caso tutti i record caricati nella base di dati pur lanciando una ricerca a vuoto, senza alcun carattere mentre nel secondo caso avverte giustamente con un messaggio che la query non ha trovato alcun risultato?

Grazie