将PHP POST变量更改为msql数据库的日期格式

时间:2015-04-28 12:20:04

标签: php mysql

在我的代码中,我使用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输入值的任何想法?

1 个答案:

答案 0 :(得分:5)

您需要使用strtotime()将数据转换为timestampdate()需要第二个参数为timestamp值。试试 -

$dateRequired = date("Y-m-d", strtotime($dateRequired));
  

通过查看各个组件之间的分隔符来消除m / d / y或d-m-y格式的日期:如果分隔符是斜杠(/),则假设为美国m / d / y;而如果分隔符是破折号( - )或点(。),则假定为欧洲d-m-y格式。