我的数据库中有一列是添加新记录的日期,它用以下代码设置:
$dateset = date("Y-m-d");
$q = "INSERT INTO appts (date_set) VALUES ('$dateset')";
大约80%的时间都是这样,有什么原因会随机添加日期为"0000-00-00"吗?
您应该检查字段"date_set"的类型。
- 如果类型为DATE,则必须使用:
$dateset=日期("Y-m-d");
- 如果类型为DATETIME,则必须使用:
$dateset=日期("Y-m-d H:i:s");//这是正确的,但数据库在00:00:00后推送(但这取决于数据库的设置)//$dateset=日期("Y-m-d");
- 如果类型为TIMESTAMP,则必须使用:
$dateset=time();
尝试使用sql:
$q="插入应用程序(日期集)值(NOW())";
我认为使用是最好的决定
$q = "INSERT INTO appts (date_set) VALUES (NOW())";
是否有任何原因会随机将日期添加为"0000-00-00"?
没有。
要么以其他方式填充$dateset
,要么稍后将值更新为0。