我正在尝试更新mysql表。如果没有值我想要null但是如果$ ODate为空我得到0。其实我正在收到毛刺。我需要做的是摆脱''然后它将采用NULL值,但如果有一个有效的日期值它就不起作用。
if (($_POST['OrderDate'])==null){$ODate='NULL';}else {$ODate=$_POST['OrderDate'];}
//这将更新有效日期,但如果设置为NULL
则返回0000-00-00"UPDATE tblLoads SET OrderDate = '$ODate',
//这将更新NULL,但如果有效日期
则返回0000-00-00"UPDATE tblLoads SET OrderDate = $ODate,
答案 0 :(得分:1)
$ODate = empty($_POST['OrderDate']) ? "NULL" : "'$_POST[OrderDate]'";
$query = "UPDATE tblLoads SET OrderDate = $ODate, ...";
答案 1 :(得分:0)
你可以有一个if else,检查$ODate
是否为NULL,如果是,则不使用引号,如果它不为空,则使用引号。
如,
if (!is_null($ODate)) {
$ODate = "'" . $ODate . "'";
}
"UPDATE tblLoads SET OrderDate = $ODate,