gpt4 book ai didi

php - MYSQL仅更新一键:value inside a json array

转载 作者:行者123 更新时间:2023-11-29 23:26:53 25 4
gpt4 key购买 nike

我需要为一个 json 键重置一个值

{
"newsletter":"1",
"contactcategories":"40",
"newslettermessagetitle":"Hey hey its the monkeys",
"newslettermessage":"And we got something to say...."
}

我正在尝试弄清楚如何格式化 MYSQL UPDATE 查询,该查询将保留该 json 中的所有内容,但仅将新闻通讯键的 1 更改为 0。

所以基本上这就是我的结果:

{
"newsletter":"0",
"contactcategories":"40",
"newslettermessagetitle":"Hey hey its the monkeys",
"newslettermessage":"And we got something to say...."
}

到目前为止我已经有了这个,但无法理解它。是否有可能使用 mysql 查询仅更新一个 json 键和值?

UPDATE #__table 
SET params='(SELECT *
FROM #__table
WHERE params LIKE '%\"newsletter\":\"1\"%')'i WHERE id='$id'

感谢任何可以提供帮助的人:)乔尼

最佳答案

如果我理解你的问题:将 json 字符串解码为数组:

$myResultArray = json_decode($jsonString, true);

然后就可以使用关联数组了。

例如:$myResultArray['newsletter'];

$sql = "UPDATE #__table SET newsletter = '".$myResultArray['newsletter']."' WHERE id='".$id."'";

关于php - MYSQL仅更新一键:value inside a json array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26889547/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com