Allora questo è il mio problema:
ho un db con una tabella in cui i campi int sono tutti di tipo null se non specificato il valore,

io recupero i campi da un modulo e li inserisco in una query, questo è un esempio:

$int1 = $_POST['int1'];
$txt = $_POST['txt'];

$query1="INSERT INTO nome_tabella (id, txt, int1, int2, int3) VALUES('','$txt',$int1,$int1,$int1)";
bla bla bla bla bla bla bla bla bla bla bla blabl ala bla

solo che se l'utente che ha compilato il modulo non inserisce il valore, mi restituisce un errore sui campi int1 int2 int3, allora ho provato a fare una cosa del genere:
if($_POST['int1']==""){
$int1=null;
}else{
$int1 = $_POST['int1'];
}
e poi usando questa query:
$query2="INSERT INTO nome_tabella (id, txt, int1, int2, int3) VALUES('','$txt','$int1','$int1','$int1')";

mi salva i valori int come 0 invece che come null,

mentre se riuso la query1 mi restituisce lo stesso errore.

Non so proprio dove mettere le mani, qualcuno ha un suggerimento?