Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Atos William Pontes

Problema com campo date

Recommended Posts

Estou com problemas em uma aplicação com relação ao campo date.

 

Tenho um formulário que insere via $_POST dados no BD (MySQL). o campo data no input esta no formato 'dd-mm-yyyy' e no insert eu o converto em 'yyyy-mm-dd' para salvar corretamente.

 

O problema é que não sei porque cargas d'agua ele esta invertendo o mês (mm) com o dia (dd), ocorre que quando o usuário digita 01/01/2010 ele salva corretamente no BD, porem, se a data for 13/01/2010 ela é salva no BD como 1969-12-31(sempre esta data) percebo que ela faz isso por não haver mês 13 quando ela inverte o dia com o mês.

 

Help me!

OBS: pesquisei na net e não encontrei algo esclarecedor, li que pode ser a versão do PHP, mas nada confirmado.

Lembrando que pode ser algo simples devido eu não ter grande domínio em php.

Compartilhar este post


Link para o post
Compartilhar em outros sites

1969-12-31 é a data salva ao enviar um valor DATE inválido ao MySQL

Ou seja, há erro na sua conversão de dd/mm/yyyy para yyyy-mm-dd. Mostre como fez

 

Algumas alternativas: http://rberaldo.com.br/php-conversao-de-datas-formato-brasileiro-e-formato-iso/

Compartilhar este post


Link para o post
Compartilhar em outros sites

1969-12-31 é a data salva ao enviar um valor DATE inválido ao MySQL

Ou seja, há erro na sua conversão de dd/mm/yyyy para yyyy-mm-dd. Mostre como fez

 

Algumas alternativas: http://rberaldo.com.br/php-conversao-de-datas-formato-brasileiro-e-formato-iso/

a linha do INSERT esta assim.

 

$sql .= '"' . date('Y-m-d',strtotime($_POST['birth_date'])) . '",';

Compartilhar este post


Link para o post
Compartilhar em outros sites

strtotime() só vai converter em timestamp se a data já estiver em yyyy-mm-dd. Sua dava está no formato dd/mm/yyyy, por isso strtotime retorna nulo e date gera data inválida

 

você precisa converter a data em PHP ou na própria query, usando STR_TO_DATE, do MySQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.