如果$ Time为null,则在查询中将其替换为''。结果查询不正确。如何避免这个问题?
$Time = strtotime($arrivals[$i]["time"]);
if ($Time != null)
{
$Time = strftime("%Y-%m-%d %H:%M:%S", $Time);
}
$query="INSERT INTO `Schedule` (`Time`) VALUES('".$Time."');";
结果查询:
INSERT INTO `schedule` (`Time`) VALUES('');
但应该是:
INSERT INTO `schedule` (`Time`) VALUES(null);
答案 0 :(得分:2)
如果您想在查询中使用NULL
而不是'2013-...'
,那么您显然需要做多一点。
if ($Time === null) {
$Time = 'NULL';
} else {
$Time = strftime("'%Y-%m-%d %H:%M:%S'", $Time);
// ^ note the quotes ^
}
$query = "INSERT INTO `Schedule` (`Time`) VALUES ($Time);";
// note: no quotes ^ ^
答案 1 :(得分:-3)
试试这个:
$query="INSERT INTO `Schedule` (`Time`) VALUES('".($Time==''?'null':$Time)."');";