【问题标题】:Converting Unix Timestamp to MySQL DATETIME将 Unix 时间戳转换为 MySQL DATETIME
【发布时间】:2013-01-08 09:47:21
【问题描述】:

这听起来很傻,但对于我的生活,我无法弄清楚。我什么都试过了。

问题是我无法弄清楚如何将我的日期字符串放入我的 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 字段仍然全为零。

请问,我做错了什么?

【问题讨论】:

标签: php mysql sql sql-insert


【解决方案1】:

删除函数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 的攻击,请参阅下面的文章以了解如何保护它

【讨论】:

    猜你喜欢
    • 2014-10-26
    • 2011-12-18
    • 2013-01-30
    • 1970-01-01
    • 2013-11-17
    • 2010-11-19
    • 2015-04-13
    相关资源
    最近更新 更多