我有一个存储在变量中的JSON数据,该变量是特定用户的一组权限。但是,JSON数据不存储在文件中,而是存储在数据库列中。
我试图寻找一种更新权限的方法(无论是真还是假),但到目前为止我还没有运气。目前,我有一些效果;
原始JSON数据......
{
"permissions": {
"permission_1": true,
"permission_2": false
}
}
将其从数据库中删除......
$permissions = json_decode($data, true);
我如何(使用PHP)更新JSON数据,将更新权限2更新为true?我从数据库出来时使用json_decode()
并将其放入数组中,但仅限于使用它。在此之后,我失去了如何更新价值。
答案 0 :(得分:0)
按顺序:
从数据库中提取列数据。
"SELECT column FROM table WHERE id = 1 LIMIT 1"
JSON_decode
将数据转换为一组PHP值/ objects / arrays / whatever。
$array = json_decode($OutputRow['column'],true);
更新您需要更新的值。
$array['permissions']['permission2'] = true;
使用JSON_encode
重新编译为JSON字符串。
$data = json_encode($array);
使用新的JSON_encoded字符串更新数据库(SQL?)。
"UPDATE table SET column = :data WHERE id = 1 LIMIT 1"
我的示例通过引用使用PDO和MySQL,但没有详细介绍数据库交互,因为您没有提供有关如何访问数据库的任何详细信息。它只是 一个关于如何列出所列要点的粗略范例。