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 $termineclausule[]="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