sono riuscito a risolvere con una concatenazione e un controllo sulle stringhe vuote:
codice:
$db=mysqli_connect($host, $user, $password) or die("impossibile connettersi al server $host");
mysqli_select_db($db, $database) or die("impossibile connettersi al database $database");
$query = "INSERT INTO $tabella VALUES ('". $_REQUEST['email'] ."',";
if ($_REQUEST['nome'] == "")
$query .= "null,";
else $query .= "'". $_REQUEST['nome'] ."',";
if ($_REQUEST['cognome'] == "")
$query .= "null,";
else $query .= "'". $_REQUEST['cognome'] ."',";
if ($_REQUEST['indirizzo'] == "")
$query .= "null,";
else $query .= "'". $_REQUEST['indirizzo'] ."',";
if ($_REQUEST['telefono'] == "")
$query .= "null,";
else $query .= "'". $_REQUEST['telefono'] ."',";
if ($_REQUEST['fax'] == "")
$query .= "null,";
else $query .= "'". $_REQUEST['fax'] ."',";
if ($_REQUEST['cellulare'] == "")
$query .= "null,";
else $query .= "'". $_REQUEST['cellulare'] ."',";
if ($_REQUEST['citta'] == "")
$query .= "null,";
else $query .= "'". $_REQUEST['citta'] ."'";
$query .= ")";
$q=mysqli_query($db, $query) or DIE (mysqli_error($db));
spero che possa essere d'aiuto per altri...