Depois de 2 dias quebrando a cabeça, consegui resolver: Esse código faz parte de uma query que era montada em uma string, tipo assim: $dados_enviados['titulo_subcategorian2'] = anti_injection($_POST['titulo_subcategorian2']); $dados_enviados['descricao_subcategorian2'] =anti_injection($_POST['descricao_subcategorian2']); $dados_enviados['conteudo_subcategorian2'] = addslashes($_POST['conteudo_subcategorian2']); foreach ($dados_enviados as $key=>$value) { $update_campos.=`".$key."`"."='$value', "; } Como tava dando pau no NULL, inseri um if e preenchi a string no final, assim: if (anti_injection($_POST['subcatn1_id])=="0") { $update_campos.=", subcatn1_id=NULL"; } Funcionou legal, obrigado!!!