Jump to content


Photo

Campo Date Vazio No Mysql


  • Faça o login para participar
5 replies to this topic

#1 Operador

Operador

    12 Horas

  • Usuários
  • 228 posts
  • Sexo:Masculino
  • Localidade:Picos - PI

Posted 12/01/2011, 14:39

E ae galera tudo bom?

Bom estou tentando gravar uma data com o campo vazio no mysql mais ele me retorna o seguinte erro: Incorrect date value: '' for column 'data_ent' at row 1

No BD o campo DATE está do tipo DATE, mais ele não é de preenchimento obrigatório e está NOT NULL.

O que devo fazer?
----------------------------------------------------------------------------
Não sei assinar... ehehehe
----------------------------------------------------------------------------

#2 vitor.zehel

vitor.zehel

    Novato no fórum

  • Usuários
  • 12 posts
  • Sexo:Masculino
  • Localidade:Santos-SP
  • Interesses:ampliar conhecimento em C++,C#, PHP, JAVA e Andorid.

Posted 12/01/2011, 15:17

isso acontece qdo vc insere uma data ou qdo vai em branco??? talvez vc esteja jogando a data no nosso padrão e o padrão é o americano 2011-01-12

#3 Operador

Operador

    12 Horas

  • Usuários
  • 228 posts
  • Sexo:Masculino
  • Localidade:Picos - PI

Posted 12/01/2011, 15:31

é quando tento cadastrar em branco, ele não está aceitando o campo vazio
----------------------------------------------------------------------------
Não sei assinar... ehehehe
----------------------------------------------------------------------------

#4 vitor.zehel

vitor.zehel

    Novato no fórum

  • Usuários
  • 12 posts
  • Sexo:Masculino
  • Localidade:Santos-SP
  • Interesses:ampliar conhecimento em C++,C#, PHP, JAVA e Andorid.

Posted 12/01/2011, 16:19

tem como voce postar o código pra poder verificar, de repente o campo da data está recebendo um valor que era pra ir a outro campo.

#5 Operador

Operador

    12 Horas

  • Usuários
  • 228 posts
  • Sexo:Masculino
  • Localidade:Picos - PI

Posted 12/01/2011, 17:00

$id_cliente = anti_injection($_GET['id_cliente']);

$sql = "SELECT nome,cnpj FROM clientes WHERE id_cliente = '$id_cliente'";
$resultado = mysql_query($sql) or die ("Não foi possível realizar a consulta ao banco de dados");

if (!$resultado) {
echo "Nenhum registro encontrado...";
exit;
}

$dados = mysql_fetch_array($resultado);

$nome = $dados['nome'];
$cnpj = $dados['cnpj'];

if (isset($_POST['enviar'])) {

$nf = anti_injection($_POST['nf']);
$data_nf = $_POST['data_nf'];
$data_1 = gravaData($data_nf);
$mes = anti_injection($_POST['mes']);
$ano = anti_injection($_POST['ano']);
$valor_nf = ($_POST['valor_nf']);
$valor = str_replace(",",".",str_replace(".","",$valor_nf));
$obs_nf = anti_injection($_POST['obs_nf']);
$entregue = anti_injection($_POST['entregue']);
$data_ent = $_POST['data_ent'];
$data_2 = gravaData($data_ent);

if (empty($nf)) {
$erro_nf = 'O Número da Nota Fiscal deve ser informado!';
} else if (empty($data_nf)) {
$erro_data_nf = 'A Data da Nota Fiscal deve ser informada!';
} else if (empty($mes)) {
$erro_mes = 'O mês de referencia deve ser informado!';
} else if (empty($valor_nf)) {
$erro_valor = 'O Valor da Nota Fiscal deve ser informado!';
} else {

$Busca = mysql_query("SELECT nf FROM controlenf WHERE nf = '$nf'");

if (mysql_num_rows($Busca) == 0){

// Cria uma query MySQL - Inserção
$query = mysql_query("INSERT INTO controlenf (id_cliente, nf, data_nf, mes, ano, valor_nf, obs_nf, entregue, data_ent) VALUES ('$id_cliente', '$nf', '$data_1', '$mes', '$ano', '$valor', '$obs_nf', '$entregue', '$data_2')") or die (mysql_error());
exit;

echo '<script>alert("NOTA FISCAL CADASTRADA COM SUCESSO!!");location.href="nfs_lista.php?id_cliente='.$id_cliente.'"</script>';

} else {
$erro_nf2 = 'Essa Nota Fiscal já existe no Banco de Dados!';
}
}
}


----------------------------------------------------------------------------
Não sei assinar... ehehehe
----------------------------------------------------------------------------

#6 _Samuca_

_Samuca_

    samuelmachado.com

  • Usuários
  • 1062 posts
  • Sexo:Masculino
  • Localidade:São Bento do Sul - SC

Posted 12/01/2011, 21:43

Olá.

Como o campo DATE não é uma string, ele nao vai aceitar valores em branco.

De qualquer forma, o campo está como "NOT NULL", ou seja, não vai aceitar valores em branco.

O que você pode fazer é:


- Insira a data "0000-00-00" ao invez de "branco"

- Ou então mude o campo para NULL, e insira o valor NULL caso não exista valor na variavel
--
Samuel Machado
www.samuelmachado.com




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq