无法使用php POST方法将日期传递给MySQL。出现标题中给出的错误。 这是我的代码。
<code>
date_default_timezone_set("Asia/Kolkata");
$dd = substr($dob,0,2)."/";
$mm = substr($dob,3,2)."/";
$yyyy = substr($dob,6,4);
$fd = $yyyy.$mm.$dd;
$date = new DateTime($fd);
$formDateConverted = $date->format('Y-m-d');
<code>
答案 0 :(得分:1)
确定要获取数据吗?您的substr()
必须返回空字符串。
您要在日期和月份中添加一个斜杠,并以错误的顺序将它们放回原处。只需使用固定的字符串运行代码:
$dob = 'dd/mm/yyyy';
$dd = substr($dob,0,2)."/";
$mm = substr($dob,3,2)."/";
$yyyy = substr($dob,6,4);
$fd = $yyyy.$mm.$dd;
var_dump($fd);
结果:
string(10) "yyyymm/dd/"
对我来说,$dob
显然是空的,因为substr()
产生的所有三个变量也都为空,除了您添加的斜杠(这是您从错误中得到的)之外。再次使用空变量运行代码,您将得到:string(2) "//"
。
一旦解决了$dob
问题,就可以按照Chayan的建议直接使用DateTime
类:
$date = DateTime::createFromFormat('d/m/Y', $dob);
echo $date->format('Y-m-d');
答案 1 :(得分:0)
默认情况下,PHP无法解析其中包含“ /”的日期。使用DateTime::createFromFormat函数。
A = N\A;