使用json文件中的数据更新mysql表

时间:2011-04-07 15:13:20

标签: php json parsing

我是json的新手,并且正努力与之合作。

我有一个id列表,存储在mysql表的id字段中。

例如,id字段包含这些值

  1. 100001
  2. 100002
  3. 100003
  4. json文件包含这些id的属性,就像这样。

    {"100001":{"person":{"name":"John","age":"32,"address":"123 street"}},
    {"100002":{"person":{"name":"jenny","age":"22,"address":"100 street"}},
    {"100003":{"person":{"name":"james","age":"25,"address":"200 street"}}
    

    我的目的是使用id作为where子句中的条件,使用json文件中的数据更新mysql表中的名称,年龄和地址字段。

    但我不知道从哪里开始。

    有人知道他们在做什么,请指导我。

    提前致谢。

2 个答案:

答案 0 :(得分:0)

你在努力理解什么? json_decode()http://php.net/manual/en/function.json-decode.php

$var = '{"100001":{"person":{"name":"John","age":"32,"address":"123 street"}},
{"100002":{"person":{"name":"jenny","age":"22,"address":"100 street"}},
{"100003":{"person":{"name":"james","age":"25,"address":"200 street"}}';

print_r(json_decode($var));

它将为您提供一个数组,您可以预先设置并创建单独的更新语句来构建一个大型更新语句并执行它。

答案 1 :(得分:0)

你应该在某个地方收到错误;您的花括号不匹配,并且您在年龄之后缺少结束引号:

{"100001":{"person":{"name":"John","age":"32,"address":"123 street"}},

应该是

{"100001":{"person":{"name":"John","age":"32","address":"123 street"}}},

您缺少实际ID的右大括号。为了便于阅读,请尝试这样格式化:

{
 "100001":{
           "person":{
                     "name":"John",
                     "age":"32",
                     "address":"123 street"
                     }
           }
 },