好吧,我不知道这是怎么回事。我有一个更新查询,三个字段中的两个字段完全按照我的需要工作,但无论我如何预格式化它的值,它仍然总是在我的转储查询中以引号 "NULL "出现,而不是如下所示的NULL。
这就是我如何对我的字段值进行预格式化。$val1 = (is_null($item1Val)) ? 'NULL' : "'" . stripslashes(json_encode($item1Val)) . "'";
$val2 = (is_null($item2Val)) ? 'NULL' : "'" . stripslashes(json_encode($item2Val)) . "'";
$val3 = (is_null($item3Val)) ? 'NULL' : "'" . trim($item3Val) . "'";
这是我在代码中使用的更新查询字符串。我也试过使用字符串连接,但似乎产生了完全相同的问题。$dml = "UPDATE table SET
field_1 = $val1,
field_2 = $val2,
field_3 = $val3,
WHERE id = $id;";
然而,这是如何出现时,我转储查询。UPDATE table SET
field_1 = NULL,
field_2 = NULL,
field_3 = 'NULL',
WHERE id = $id;
我已经转储了作为原始数据的值,并且每个值都是真正的NULL值,这正是我想要的。那么,如果它们都是以真NULL值的形式出现,那么最后一个变量是如何变成引号值的,而不是前两个变量完全按照我的要求工作的呢?我不知道我到底漏掉了什么。
这简直让我抓狂!