-2
我坚持以下几点:我有一个mysql数据库(5.7)。我想更新一个json-data-entry。PHP的mysql json_set
这是我的数据库中的数据看起来的样子:
{
"version": {
"0": {
"value": "1.9.6.81"
}
}
}
当我尝试直接在命令行中更新与SQL这一领域没有问题:
update item set elements = JSON_SET(elements, '$."version"."0"."value"', "1.9.8.40") where name like 'Client XZY';
但是当我尝试用PHP,我有一些混合引号和双引号的问题。
$connection = new mysqli('localhost', 'user', 'password');
$updateSql = "update item set elements = JSON_SET(elements, '$."version'.'0'.'value"', '1.9.8.20') where name like 'Client XYZ';';
if($connection->query($updateSql) === TRUE){
echo 'good :) ';
}
else{
echo 'bad :(';
}
简单的任何报价,您也为文本分隔符使用前放一个反斜杠。也就是说,如果你的PHP字符串文字以''开始'',你需要将''''中的每一个'''写成'\“' – deceze
提供你的输入元素,就像版本是可变的一样? –
尝试用这个更新字符串,没有成功 '$ updateSql =“更新项目集元素= JSON_SET(元素,'$。\”version'。\“0 \”。\“value \”',1.9.8.20')其中名称如'Client XYZ';“ ;' –