【发布时间】:2013-08-31 09:42:41
【问题描述】:
$ETA_time = strtotime($arrivals[$i]["operationalTimes"]["estimatedGateArrival"]["dateLocal"]);
if (!$ETA_time) {
$ETA = 'NULL';
} else {
$ETA = strftime("%Y-%m-%d %H:%M:%S", $ETA_time);
}
$STA_time = strtotime($arrivals[$i]["operationalTimes"]["scheduledGateArrival"]["dateLocal"]);
if (!$STA_time) {
$STA = 'NULL';
} else {
$STA = strftime("%Y-%m-%d %H:%M:%S", $STA_time);
}
$ATA_time = strtotime($arrivals[$i]["operationalTimes"]["actualGateArrival"]["dateLocal"]);
if (!$ATA_time) {
$ATA = 'NULL';
} else {
$ATA = strftime("%Y-%m-%d %H:%M:%S", $ATA_time);
}
$query="INSERT INTO `Schedule` (`ETA`,`STA`,`ATA`)
VALUES('".$ETA."','".$STA."','".$ATA."');";
$result=run_query($query);
相关的MySQL DB表:
CREATE TABLE `Schedule` (
`id` smallint(6) NOT NULL AUTO_INCREMENT,
`STA` datetime DEFAULT NULL,
`ETA` datetime DEFAULT NULL,
`ATA` datetime DEFAULT NULL,
);
查询var_dump:
INSERT INTO `Schedule` (`ETA`,`STA`,`ATA`) VALUES('2013-08-28 12:30:00','NULL','NULL');
错误信息是:
Incorrect datetime value: 'NULL' for column 'STA' at row 1
【问题讨论】:
-
NULL是关键字,而不是字符串,不应单引号。VALUES('2013-08-28 12:30:00',NULL,NULL); -
因为传递NULL作为字符串不是NULL,所以传递空字符串或者关键字本身
-
每个 SQL 错误都有一个编号。你得到的错误号是多少(如果不是两个数字)?您不清楚错误消息的哪一部分(您已发布)?