1

如果 $Time 为空,则在查询中将其替换为 ''。结果查询不正确。如何避免这个问题?

$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);
4

2 回答 2

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 ^   ^
于 2013-07-18T07:43:20.847 回答
-3

尝试这个:

$query="INSERT INTO `Schedule` (`Time`) VALUES('".($Time==''?'null':$Time)."');";
于 2013-07-18T07:45:40.067 回答