php null字符,php - PHP更新查询值总是以字符串'NULL'代替NULL。 - SO中文参考 - www.soinside.com...

在PHP代码中,作者遇到一个奇怪的问题:当尝试更新数据库记录时,其中的一个字段值始终以引号包围的'NULL'出现,而其他字段则正常处理为NULL。他们已经检查了原始数据,并确认所有字段都应该为NULL。问题似乎集中在变量$val3的处理上,尽管使用了相同的预格式化逻辑,但它并未按预期工作。作者寻求解决方案以解决这个更新查询中的异常行为。
摘要由CSDN通过智能技术生成

好吧,我不知道这是怎么回事。我有一个更新查询,三个字段中的两个字段完全按照我的需要工作,但无论我如何预格式化它的值,它仍然总是在我的转储查询中以引号 "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值的形式出现,那么最后一个变量是如何变成引号值的,而不是前两个变量完全按照我的要求工作的呢?我不知道我到底漏掉了什么。

这简直让我抓狂!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值