Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL NOW()仅返回一年_Mysql_Datetime_Time - Fatal编程技术网

MySQL NOW()仅返回一年

MySQL NOW()仅返回一年,mysql,datetime,time,Mysql,Datetime,Time,MySQL docs about NOW()函数 根据函数是在字符串上下文中使用还是在数字上下文中使用,以“YYYY-MM-DD HH:MM:SS”或yyyyymmddhhmmss.uuuuu格式的值形式返回当前日期和时间。该值以当前时区表示 这是我的疑问 $sql = " INSERT INTO `users` ( `username`, `password`, `email`, `time` ) VALUES ('{$username}', '" . sha1( $pass

MySQL docs about NOW()函数

根据函数是在字符串上下文中使用还是在数字上下文中使用,以“YYYY-MM-DD HH:MM:SS”或yyyyymmddhhmmss.uuuuu格式的值形式返回当前日期和时间。该值以当前时区表示

这是我的疑问

$sql = "

    INSERT INTO `users` ( `username`, `password`, `email`, `time` )
    VALUES ('{$username}', '" . sha1( $password ) . "', '{$email}', NOW() )

";
问题是在数据库中我没有完整的日期时间,只有年份。有什么解决办法吗

它是int(10),就像我使用UNIX时间戳时一样

NOW()
仅适用于
DATETIME
字段

您需要将字段转换为
DATETIME
(首选方法),或者使用

试一试


你肯定应该使用
时间戳
日期时间
作为你专栏的类型。

我也遇到了同样的问题,在读到这个问题之前,我被难倒的时间最长。我使用mysql的now()函数来更新成员的上次登录时间

MySQL的now()以字符串形式返回日期时间,如
YYYY-MM-DD HH:MM:SS
——我在某个地方停止使用它,开始使用
time()(UNIXTIME)
(使其更易于使用),它返回一个数字字符串,如
1352254528
。但是不能在datetime字段中存储这样的数字字符串,同样,也不能在
int(11)
字段中存储
YYYY-MM-DD HH:MM:SS
。后者只会导致存储年份

最后,您应该使用:

int(11)
如果要使用PHP的
time()
函数将时间存储为一个数字字符串 或
DATETIME字段
如果要使用MySQL的
NOW()
函数。

日期字段是什么类型的?您能给出一个示例值吗?嗯,美味的SQL注入。@Sdaz MacSkibbons,就像我以前没有验证输入一样。。。xD@Pekka它是int(10),就像我使用UNIX时间戳时一样。
UNIX_TIMESTAMP(NOW())
strtotime(now())