1) sinceramente non mi sono mai trovato a fare ricerche in tutte le colonne della tabella... concetualmente parlando potrei dirti WHERE * LIKE '%pippo%' ma nn sò se dico un' eresia 
2)dipende come imposti la ricerca...
se l' utente inserisce "ciao mondo" e tu vuoi fare una ricerca con i 2 valori ben distinti
Codice PHP:
$chiave="ciao mondo";
$query="SELECT * FROM tabella WHERE ";
$clausule=array();
$parole=explode(" ",$chiave);
foreach ($parole as $termine) clausule[]="colonna LIKE '%".trim($termine)."%' ";
$end_clausule=implode(" OR ",$clausule);
$end_query=$query.$end_clausule;
echo $end_query;
3)
dopo aver fatto la query
Codice PHP:
if (mysql_num_rows($ricevuta) == 0) echo "nessun risultato";
se sai l' inglese non penso ci sia bisogno di dirti cosa fa mysql_num_rows 