Boa tarde, minha dúvida é tenho 2 formulários para alimentar 1 tabela do BD. O primeiro formulário utiliza a data o segundo não. Ao fazer o insert do primeiro ok sem problemas eu utilizo preg replace e formato a data e envio para o bd. Mas ao utilizar a segunda tabela onde não preciso da data, eu utilizei (não sei se é o melhor caminho) um input hidden NULL para o campo data. Porém ao verificar na inserção do BD o PHP manda dado vazio e não NULL. Acredito que ao passar pelo preg replace, ele não aceita NULL e não envia a informação NULL para o BD. Existe alguma forma de fazer isso ?
<input type="hidden" name="data_nascimento" class="form-control" value="NULL">
$pessoa->setData_nascimento($_POST["data_nascimento"]);
public function setData_nascimento($data_nascimento)
{
$data_nascimento= preg_replace("/\D+/", "", $data_nascimento);
$this->data_nascimento = $data_nascimento;
}
function inserePessoa($pessoa) {
$query = "insert into pessoa (nome, endereco, numero, bairro, cidade, uf, cep,
cpf, cnpj, data_nascimento, rg, telefone, email, estado_civil_id, nacionalidade,
profissao, complemento, tipo_pessoa_id, parte_id, natureza_juridica_id)
values ('{$pessoa->getNome()}','{$pessoa->getEndereco()}',{$pessoa->getNumero()},
'{$pessoa->getBairro()}','{$pessoa->getCidade()}','{$pessoa->getUf()}',
{$pessoa->getCep()}, {$pessoa->getCpf()}, '{$pessoa->getCnpj()}',
{$pessoa->getData_nascimento()},{$pessoa->getRg()},{$pessoa->getTelefone()},
'{$pessoa->getEmail()}',{$pessoa->getEstado_civil()},'{$pessoa->getNacionalidade()}',
'{$pessoa->getProfissao()}','{$pessoa->getComplemento()}',{$pessoa->getTipo_pessoa()},
{$pessoa->getParte()},{$pessoa->getNatureza_juridica()})";
var_dump($query);exit;
return mysqli_query($this->conexao, $query);
}