Мне стало больно от всего этого материала. Вот что я пытаюсь:
$string = '24/10/1985'; $bday = explode('/', $string); $insertbday = $bday[2] . '-' . $bday[1] . '-' . $bday[0]; $insertbday = date("Ymd", $insertbday); mysqli_query($con, "INSERT INTO user (bday) VALUES ($insertbday)");
Но с 0000-00-00. Как это сделать правильно?
Второй параметр date
– это метка времени. Используйте strtotime()
для преобразования $insertbday
.
Измените эту строку:
$insertbday = date("Ymd", $insertbday);
чтобы:
$insertbday = date("Ymd", strtotime($insertbday));
Обновить
Кроме того, добавьте одинарные кавычки вокруг $insertbday
для запроса:
mysqli_query($con, "INSERT INTO user (bday) VALUES ('$insertbday')");
Вы должны попробовать это
$string = '24/10/1985'; $bday = strtotime($string); $insertbday = date("Ymd", $bday); mysqli_query($con, "INSERT INTO user (bday) VALUES ($insertbday)");
date()
ожидает отметку unix timestamp … и я думаю, что вы передаете ей дату в виде строки.
вы должны попробовать следующее:
$insertbday = date("Ymd", strtotime($insertbday));
или кроме функции strtotime()
вы можете попробовать ее с Datetime object
$NewBday= new DateTime($insertbday); $NewBday= date( 'Ymd H:i:s', $NewBday);