Il problema è esattamente quello, l'unico modo in cui sono riuscito a risolverlo, ma la trovo una scappatoia orribile oltre che impraticabile quando i campi null possono essere più d'uno è questa che propongo:
Codice PHP:
$testo = nl2br(htmlentities($_POST['testo']));
//campo t2 vuoto
if (empty($_POST['t2'])) {
$tab = $_POST['tabel'];
$inter = 'INSERT INTO
'.$tab.'
(testo, t2, data)
VALUES
(
"'.$testo.'",
NULL,
"'.$data.'"
)';
} else {
//campo t2 pieno
$t2 = nl2br(htmlentities($_POST['t2']));
/*assegnazione tab*/
$tab = $_POST['tabel'];
$inter = 'INSERT INTO
'.$tab.'
(testo, t2, data)
VALUES
(
"'.$testo.'",
"'.$t2.'",
"'.$data.'"
)';
}
però appunto, a parte che trovo la soluzione molto inelegante ma oi mi costringe a dei voli pindarici (ed a Kg di codice probabilmente inutile nel caso in cui questi campi fossero di più!).
La soluzione potrebbe essere definire la variabile $t2 come NULL se la condizione empty è vera, ma non so come inserire questa variabile dentro la query in modo corretto... non so se mi sono spiegato, spero di sì!