我通过MySQLi将jQuery UI日期选择器日期保存到TIMESTAMP列中遇到问题。
我的变量$_POST['schedule']
包含04-09-2015
(dd-mm-yy)。我使用以下准备好的语句:
$stmt = $mysqli->prepare("INSERT INTO campaigns (schedule) VALUES (?)");
$stmt->bind_param("s", strtotime($_POST['schedule']));
当我检查数据库时,对应的时间戳列总是重置为0000-00-00 00:00:00
。如果我回显strtotime($_POST['schedule'])
,我得到一个有效的UNIX时间戳。
也将bind_param从s
更改为i
不起作用。
我觉得我在做一个微不足道的错误,但不能理解它是什么。我做错了什么?
我发现解决这个问题的唯一方法是使用以下命令并更改格式:
$date = DateTime::createFromFormat('d-m-Y', $_POST['schedule']);
$date = $date->format('Y-m-d');
$stmt = $mysqli->prepare("INSERT INTO campaigns (schedule) VALUES (?)");
$stmt->bind_param("s", $date);
$date = date_create($_POST['schedule']);
$stmt = $mysqli->prepare("INSERT INTO campaigns (schedule) VALUES (?)");
$stmt->bind_param("s", date_format($date, 'Y-m-d H:i:s'));
试试这个。修改格式