我在插入带有日期字段的记录时遇到问题。无论我做什么,日期字段都存储为'0000-00-00'。该值以这种格式作为字符串进入php脚本:
“2013年9月13日”。我正在使用strtotime
转换为日期,然后尝试插入记录。这是代码。为什么我不能让这个工作?谢谢!
$my_date = strtotime($_POST['d']);
//die(date("Y-m-d", $my_date)); //<--outputs just fine if I uncomment this
$sql = "INSERT INTO locations (id, my_date) VALUES ('$id', '$my_date')";
$result = mysql_query($sql);
答案 0 :(得分:0)
我正在使用strtotime转换为约会
strtotime
返回一个unix时间戳(整数),而不是日期字符串。在插入日期函数之前,您可以为MySQL格式化它:
$my_date = date('Y-m-d H:i:s', strtotime($_POST['d']));
或者,您可以使用DateTime类来实现此目的。
答案 1 :(得分:0)
另一个为我工作的解决方案:
$my_date = $_POST['my_date'];
if (empty($my_date))
$my_date = "0000-00-00";
$sql = "INSERT INTO locations (id, my_date) VALUES ('$id', '$my_date')";
$result = mysql_query($sql);