-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';「 ;' –