datetime格式插入数据库

时间:2012-10-20 15:33:16

标签: php mysql

好的,这是我遇到的问题。

我将datetime作为数据库中的一行,如何配置php,以便从php脚本中将正确的日期时间插入到数据库中,我现在似乎只能使用vanchar(255)。

2 个答案:

答案 0 :(得分:1)

MySQL的日期/时间格式为yyyy-mm-dd mm:hh:ss。如果以任何其他格式插入时间和/或日期值,它们可能会被删除并设置为默认值。如果需要,您可以使用str_to_date()之类的函数将不符合的字符串转换为本机MySQL值。

答案 1 :(得分:0)

试试这个......

<?php
function format_mysql_datetime($raw) {
        $format = '%Y-%m-%d %H:%M:%S';
        $stringtime =  strtotime($raw);
        return strftime($format, $stringtime);  
}

$raw = date('c');

$sql='insert into myTable (theDateTimeField)
values ('.format_mysql_datetime($raw).')';
mysql_query($sql);

?>

如果您使用日期('c')而不是time(),则此方法有效。确保设置了默认时区,否则可能显示错误的时间。见date_default_timezone_set.

请注意,您不应该使用mysql_ *。相反,使用PDO。您的代码很容易受到SQL注入攻击,您必须在查询中使用外部输入时防范它。我没有用PDO写我的答案,因为我想强调如何处理日期而不是让你混淆引入另一个新概念。

另请查看以下文档: