5

这听起来很愚蠢,但对于我的生活,我无法弄清楚。我已经尝试了一切。

问题是我无法弄清楚如何将我的日期字符串放入我的 MySQL 表中......我一直在先转换为 Unix 以考虑输入格式的变化......

$_POST['date']格式如下:19-1-2013 4:43:32

$datestr= strtotime($_POST['date']);
    echo $datestr;
    $sql = "INSERT INTO `calendar` (`date`, `title`, `event`) VALUES ('FROM_UNIXTIME(".$datestr.")', '".mysql_real_escape_string($_POST['title'])."', '".mysql_real_escape_string($_POST['desc'])."')";
    $query = mysql_query($sql);

这是我最近尝试过的事情,我的 DATETIME 字段中仍然是全零。

请问,我做错了什么?

4

1 回答 1

12

删除函数周围的单引号,FROM_UNIXTIME因为它将使其成为一个值。例如

$sql = "INSERT INTO `calendar` (`date`, `title`, `event`) VALUES (FROM_UNIXTIME(".$datestr."), '".mysql_real_escape_string($_POST['title'])."', '".mysql_real_escape_string($_POST['desc'])."')";

作为旁注,您的查询很容易受到攻击SQL Injection,请参阅下面的文章以了解如何保护它

于 2013-01-08T09:48:55.223 回答