Error saving field type null, not by field set to notnull

0

I'm trying to save a possible "client" but I'm not setting a date field for it, so when I do this the field is not set and it still gives error.

Follow my PHP code, the bank all fields are null valid.

<?php

// incluindo o arquivo que faz a conexao com o banco
include ("../includes/conexao.php");
include ("../includes/suc_validacao.php");
include ("../includes/suc.php");

$nome = $_POST['TXT_NOMEX_CLIEN'];
$apelido = $_POST['TXT_APELI_CLIEN'];
$mensagem = $_POST['MEM_APRES_CLIEN'];
$naturalidade = $_POST['TXT_NATUR_CLIEN'];
$nacionalidade = $_POST['TXT_NACIO_CLIEN'];

if (strcmp($_POST['DAT_NASCI_CLIEN'], "") == 1) {
    $dtnasc = $_POST['DAT_NASCI_CLIEN'];
    $dtnasc = implode("-", array_reverse(explode("/", $dtnasc)));
} else {
    $dtnasc = null;
}
$ocupacao = $_POST['TXT_OCUPA_ATUAL'];
$clube = $_POST['TXT_NOMEX_CLUBE'];

if (strcmp($_POST['TXT_DATAX_ADMIS'], "") == 1) {
    $desde = $_POST['TXT_DATAX_ADMIS'];
} else {
    $desde = null;
}
$desde = implode("-", array_reverse(explode("/", $desde)));

if (strcmp($_POST['TXT_ALTUR_CLIEN'], "") == 1) {
    $altura = $_POST['TXT_ALTUR_CLIEN'];
    $altura = str_replace(",", ".", $altura);
} else {
    $altura = null;
}

if (strcmp($_POST['TXT_PESOX_CLIEN'], "") == 1) {
    $peso = $_POST['TXT_PESOX_CLIEN'];
    $peso = str_replace(",", ".", $peso);
} else {
    $peso = null;
}

$gostede = $_POST['TXT_GOSTO_CLIEN'];
$naogostade = $_POST['TXT_NGOST_CLIEN'];
$twitter = $_POST['TXT_ENDER_TWITR'];
$facebook = $_POST['TXT_ENDER_FACEB'];
$youtube = $_POST['TXT_ENDER_YOUTB'];
$menuvinc = $_POST['P_COD_IDENT_MENUX'];
$usurLoga = $_SESSION['UsuarioID'];

//echo $altura.','.$desde.','.$peso.','.$dtnasc; die;

$query = "INSERT INTO tbl_CLIENTES (COD_IDENT_MENUX, TXT_NOMEX_CLIEN, TXT_APELI_CLIEN, MEM_APRES_CLIEN, FLG_TIPOX_CLIEN, COD_IDULT_ATUAL, DAT_ULTIM_ATUAL) VALUES";
$query .= "('$menuvinc', '$nome','$apelido','$mensagem','F', '$usurLoga', now())";

$inserir = mysql_query($query)
        or die(mysql_error());

$COD_IDENT_ULTIM_CLIEN = mysql_insert_id();

$query2 = "INSERT INTO tbl_CLIENTES_PF (COD_IDENT_CLIEN, TXT_NATUR_CLIEN, TXT_NACIO_CLIEN, DAT_NASCI_CLIEN, TXT_OCUPA_ATUAL, TXT_NOMEX_CLUBE, TXT_ALTUR_CLIEN, TXT_PESOX_CLIEN, TXT_ENDER_TWITR, TXT_ENDER_FACEB, TXT_ENDER_YOUTB, TXT_DATAX_ADMIS, TXT_GOSTO_CLIEN, TXT_NGOST_CLIEN, COD_IDULT_ATUAL, DAT_ULTIM_ATUAL) VALUES";
$query2 .= "('$COD_IDENT_ULTIM_CLIEN','$naturalidade','$nacionalidade', '$dtnasc' ,'$ocupacao','$clube','$altura','$peso','$twitter','$facebook','$youtube','$desde','$gostede','$naogostade', '$usurLoga', now())";

//executando a query
$inserir = mysql_query($query2)
        or die(mysql_error());

$response = array("success" => true);

//fechando a conexao com o banco
mysql_close($conn);

header("Location: listaClientes.php");
exit; // Redireciona o visitante
?>
  

This is the error that occurs:   Incorrect date value: '' for column 'DAT_NASCI_CLIEN' at row 1

    
asked by anonymous 31.07.2015 / 19:51

1 answer

1

You need to replace the empty variable with the string NULL:

$dtnasc = 'NULL';
    
31.07.2015 / 20:20