0

我正在尝试更新 mysql 表。如果没有值,我想要 null 但如果 $ODate 为空,我会得到 0。实际上我得到的是0000-00-00。我需要做的是摆脱''然后它将采用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,
4

2 回答 2

1
$ODate = empty($_POST['OrderDate']) ? "NULL" : "'$_POST[OrderDate]'";

$query = "UPDATE tblLoads SET OrderDate = $ODate, ...";
于 2013-04-22T22:57:25.463 回答
0

你可以有一个 if else,检查 if 是否$ODate为 NULL,如果是则不要使用引号,如果它不为空,则使用引号。

例如,

if (!is_null($ODate)) {
  $ODate = "'" . $ODate . "'";
}

"UPDATE tblLoads SET OrderDate = $ODate,
于 2013-04-22T22:54:20.540 回答