在我的代码中,我使用POST方法将用户输入的信息存储到我的数据库中。一切都输入正确,但是我不明白如何添加用户输入的日期,并使变量可以识别表中的日期类型,这是我到目前为止所尝试的代码:
$dateRequired = date("Y-m-d", $dateRequired);
$query = "INSERT INTO CustomerRequest (requestDate, dateRequired, collectionDetails, quantity, requestStatus, customerID) VALUES( NOW(),?, ?, ?, ?, ?)";
$statement = $cxn->prepare($query);
//bind parameters for markers, where (s = string, i = integer, d = double, b = blob)
$statement->bind_param('ssisi', $dateRequired, $details, $quantity, $requestStatus, $customerID);
$dateRequired
是我所关注的变量,在我得到1970-01-01的输出时,用户输入的值是04/29/2015。我显然做错了什么但不能弄清楚问题的哪个部分,以及解决问题的最佳方法。
有关如何让用户为mysql数据库识别的$dateReqired
输入值的任何想法?
答案 0 :(得分:5)
您需要使用strtotime()
将数据转换为timestamp
。 date()
需要第二个参数为timestamp
值。试试 -
$dateRequired = date("Y-m-d", strtotime($dateRequired));
通过查看各个组件之间的分隔符来消除m / d / y或d-m-y格式的日期:如果分隔符是斜杠(/),则假设为美国m / d / y;而如果分隔符是破折号( - )或点(。),则假定为欧洲d-m-y格式。