php - 将 Unix 时间戳转换为 MySQL DATETIME

标签 php mysql sql sql-insert

这听起来很傻,但对于我来说我无法弄明白。我什么都试过了。

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

请问我做错了什么?

最佳答案

删除函数 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 注入(inject) 漏洞,请参阅下面的文章以了解如何防范它

关于php - 将 Unix 时间戳转换为 MySQL DATETIME,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14212182/

相关文章:

javascript - 如何在 php 表中执行 javascript 函数

sql - Oracle 查询列出内存中的时间

SQL View 。选择计数...在哪里

mysql - 函数 dblink 复制并插入到另一个数据库

php - 数据未从 JSON 插入数据库

php - 使用在本地 nginx 服务器上运行的 codeigniter 连接到外部 mysql 数据库

sql - Oracle - GROUPING_ID 和 GROUPING SETS

php - 查找重复的书籍

php - 使用 query_string 在 php 中提供一些额外安全性的函数

php - 对每个应用程序错误抛出异常