Php 插入日期有时会插入所有0';s
我的数据库中有一列记录了添加新记录的日期,其设置代码如下:Php 插入日期有时会插入所有0';s,php,mysql,Php,Mysql,我的数据库中有一列记录了添加新记录的日期,其设置代码如下: $dateset = date("Y-m-d"); $q = "INSERT INTO appts (date_set) VALUES ('$dateset')"; 这大约80%的时间都在工作,是否有任何原因会随机将日期添加为“0000-00-00”?您应该检查“日期集”字段的类型 如果类型是您必须使用的日期: $dateset=日期(“Y-m-d”); 如果类型为DATETIME,则必须使用: $datese
$dateset = date("Y-m-d");
$q = "INSERT INTO appts (date_set) VALUES ('$dateset')";
这大约80%的时间都在工作,是否有任何原因会随机将日期添加为“0000-00-00”?您应该检查“日期集”字段的类型
- 如果类型是您必须使用的日期:
- 如果类型为DATETIME,则必须使用:
- 如果类型为时间戳,则必须使用:
$dateset
以其他方式填充,或者以后值被更新为0。我认为使用
$q=“插入appts(日期集)值(NOW())”代码>是否$dateset
100%肯定不是空的或无效的?代码字面上是这样的,还是$dateset
来自其他地方?当您尝试插入无效日期时,会得到“0000-00-00”。您可能应该在应用程序中查找在该表中插入记录的其他位置。您的代码看起来不错,但是如果您想额外确保您可以使用…VALUES(NOW())
@deceze,这就是真正的代码。这是唯一一次使用$dateset
,当然,这是用来防止SQL注入和其他问题的,这就是为什么我如此困惑的原因$在整个代码中,日期集从未在其他任何地方提到过。我可能只需要使用NOW(NOW())就可以了
$dateset = date("Y-m-d H:i:s");
//It is correct, but database push after time 00:00:00 (but it depends on the settings of the database)
//$dateset = date("Y-m-d");
$dateset = time();
$q = "INSERT INTO appts (date_set) VALUES (NOW())";