数据库类型:日期
代码:
$startdate = date('Y-m-d', strtotime($_POST['startdate']));
//die($startdate); //<--outputs the correct date in the correct format when uncommented.
try {
$stmt = $db->prepare('INSERT INTO table (firstname,lastname,startdate) VALUES (:firstname, :lastname, :startdate)');
$stmt->execute(array(
':firstname' => $_POST['firstname'],
':lastname' => $_POST['lastname'],
':startdate' => $_POST['startdate'],
));
}
我也试过
$startdate = date('Y-m-d', strtotime($_POST['startdate']));
在try {}中但是也不起作用。
我做错了什么?
这是John Conde。我相信这很简单,这是不同的,为什么它不重复。如果您没有注意到我的代码中存在“错误”。我需要帮助找到问题。马克找到了它,现在它起作用了。我仍然想知道为什么这么难以理解。
答案 0 :(得分:1)
发现差异:
$startdate = date('Y-m-d', strtotime($_POST['startdate']));
^^^^^^^^^^
':startdate' => $_POST['startdate'],
^^^^^^^^^^^^^^^^^^^^
您可以正确转换日期,但在查询中使用原始的未转换版本。