Php 空值被“”替换

Php 空值被“”替换,php,sql,datetime,Php,Sql,Datetime,如果$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为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);
如果您希望在查询中使用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 ^   ^
试试这个:

$query="INSERT INTO `Schedule` (`Time`) VALUES('".($Time==''?'null':$Time)."');";

... else{用不存在的东西替换它?}如果它为空,你想要什么呢?@deceze:else{$Time=;}不起作用。应该是这样的:插入计划时间值ll;否则它就不起作用了。如果时间为NULL,那么会插入NULL值还是NULL字符串?因为我省略了NULL的引号,所以它是SQL NULL值,而不是字符串“NULL”。最后,一个实际有效的答案!