Я просто пытаюсь передать дату в sql как формат DATE (XXXX-XX-XX), но я не могу заставить sprintf принимать мои строковые компоненты даты. Кажется, я правильно слежу за документацией. используя php5.5
$year = ($_POST['year']);
$month = ($_POST['month']);
$day = ($_POST['day']);
var_dump показывает:
string(4) "1991" string(1) "8" string(1) "5"
однако оба этих var_dumps пусты:
$dobexpanded =sprintf("%04s-%02s-%02s", $year, $month, $day);
$dateofbirth = (STR_TO_DATE('$dobexpanded', '%Y-%m-%d'));
var_dump($dobexpanded);
var_dump($dateofbirth);
Попробуйте -
$dobexpanded =sprintf("%04d-%02d-%02d", $year, $month, $day);
$dateofbirth = date('Y-m-d', strtotime($dobexpanded));
var_dump($dobexpanded);
var_dump($dateofbirth);
попробуй это:
date('Y-m-d', mktime(0, 0, 0, $month, $day, $year));