se $_POST['a_msn'] ti arriva da un form, non sarà null, ma sarà eventualmente una stringa vuota, quindi il controllo sul valore va fatto con empty()
un modo più compatto per scrivere la cosa:
ma siamo sicuri che sia più leggibile?Codice PHP:
$msn = (empty($_POST['a_msn'])) ? 'NULL' : "'{$_POST['a_msn']}'";
$query = "UPDATE ..... msn = {$msn} WHERE .......";
altra domanda, ma perchè non inserire semplicemente una stringa vuota in quel valore?
comunque valuta l'uso di classi ad-hoc per semplificarti la vita e rendere il tutto ben leggibile, evitando sfilze di if/else, ad esempio per la validazione dei form:
http://php.html.it/articoli/leggi/90...one-a-oggetti/
e magari un wrapper per il database tipo Zend_Db (o altro a tuo piacimento)