我正在使用php来查询mysql。这是一个:
UPDATE `subscribers` SET `curDate` = NOW() WHERE `e_mail` = "$resEmail"
curDate - DateTime类型。问题是在此查询后,给定电子邮件的curDate为
0000-00-00 00:00:00
怎么了?
答案 0 :(得分:5)
您的PHP现在可能看起来像这样:
$sql = 'UPDATE `subscribers` SET `curDate` = NOW() WHERE `e_mail` = "$resEmail"';
单引号可防止变量的值被替换为字符串。您需要将其更改为:
$sql = "UPDATE `subscribers` SET `curDate` = NOW() WHERE `e_mail` = '$resEmail'";
您还应该知道此处可能存在SQL注入漏洞。请考虑使用mysql_real_escape_string来转发电子邮件地址。
$sql = "UPDATE `subscribers` SET `curDate` = NOW() WHERE `e_mail` = '" .
mysql_real_escape_string($resEmail) . "'";
答案 1 :(得分:0)
由于您使用的是基于正确时间戳的timedate功能,请尝试使用Timestamp(Now())
进行设置。