У меня возникла проблема с простым вставным запросом в таблицу.
У меня есть код PHP
$T_MEMBER = "INSERT INTO T_MEMBER (MEMBER_IDENTIFIER,LAST_NAME,FIRST_NAME,BIRTH_DATE) VALUES ('$memberID','$last','$first','$birthdate')";
mysql_query($T_MEMBER) or die(mysql_error());
Вот несколько примеров того, как выглядит запрос, если я его эхо:
ВСТАВИТЬ В T_MEMBER (MEMBER_IDENTIFIER, LAST_NAME, FIRST_NAME, BIRTH_DATE) ЗНАЧЕНИЯ ( '2007', 'Hayes', 'Karin', '1958-30-10') ВСТАВИТЬ В T_MEMBER (MEMBER_IDENTIFIER, LAST_NAME, FIRST_NAME, BIRTH_DATE) ЗНАЧЕНИЯ ( '2020', 'Long', 'Peggy', '1968-29-5') ВСТАВИТЬ В T_MEMBER (MEMBER_IDENTIFIER, LAST_NAME, FIRST_NAME, BIRTH_DATE) ЗНАЧЕНИЯ ( '2021', 'Торрес', 'Диана', '1968-30-8')
BIRTH_DATE является столбцом типа даты.
Проблема в том, что после выполнения любого из этих запросов дата появляется как 000-00-00!!!! Я разрушал свой мозг, и я не могу найти проблему.
Спасибо, Ian
Дата должна быть в формате ГГГГ-ММ-ДД. Кстати, у вас в формате YYYY-DD-M (спасибо juliano).
Итак, вместо 1958-29-05 используйте 1968-05-29
Вы также можете рассмотреть возможность передачи даты в качестве переменной и сначала ее форматирование с использованием mktime() и date().