将Json文件解码为关联数组并插入mariadb(mysql)?

时间:2019-01-26 14:28:51

标签: php mysql json mariadb

我的问题是我不知道如何将每个键插入JSON文件中所有对象的mariadb中的记录作为相应的列和值。我试图将JSON解码为assoc数组,以便将其写入到我的表中:

图片:https://imgur.com/ZVat4dK

这是JSON文件的2个示例对象:

    [ 
{
    "title": "Cho thu\u00ea c\u0103n h\u1ed9 cao c\u1ea5p 1 ph\u00f2ng ng\u1ee7 vinhomes central park gi\u00e1 ch\u1ec9 750$ / th\u00e1ng",
    "bedrooms": [
        "1"
    ],
    "ultilities": [
        "Ch\u1ed7 \u0111\u1ec3 xe m\u00e1y",
        "Ch\u1ed7 \u0111\u1ec3 \u00f4t\u00f4",
        "Trung t\u00e2m th\u1ec3 d\u1ee5c",
        "H\u1ec7 th\u1ed1ng an ninh",
        "Nh\u00e2n vi\u00ean b\u1ea3o v\u1ec7",
        "H\u1ed3 b\u01a1i",
        "Truy\u1ec1n h\u00ecnh c\u00e1p",
        "Internet"
    ],
    "places_nearby": [
        "G\u1ea7n tr\u01b0\u1eddng",
        "G\u1ea7n b\u1ec7nh vi\u1ec7n",
        "G\u1ea7n c\u00f4ng vi\u00ean",
        "G\u1ea7n nh\u00e0 tr\u1ebb",
        "Ti\u1ec7n kinh doanh",
        "Khu d\u00e2n tr\u00ed cao",
        "G\u1ea7n ch\u1ee3"
    ],
    "legal": [
        "S\u00f4\u0309 h\u00f4\u0300ng"
    ]
 },
 {
    "title": "Cho thu\u00ea c\u0103n h\u1ed9 cao c\u1ea5p lancaster 20 n\u00fai tr\u00fac, 90m, 2pn, gi\u00e1 17 tri\u1ec7u/th\u00e1ng.",
    "bedrooms": [
        "2"
    ],
    "ultilities": [
        "Ch\u1ed7 \u0111\u1ec3 xe m\u00e1y",
        "Ch\u1ed7 \u0111\u1ec3 \u00f4t\u00f4",
        "Trung t\u00e2m th\u1ec3 d\u1ee5c",
        "H\u1ec7 th\u1ed1ng an ninh",
        "Nh\u00e2n vi\u00ean b\u1ea3o v\u1ec7",
        "H\u1ed3 b\u01a1i",
        "Truy\u1ec1n h\u00ecnh c\u00e1p",
        "Internet"
    ],
    "places_nearby": [
        "G\u1ea7n tr\u01b0\u1eddng",
        "G\u1ea7n b\u1ec7nh vi\u1ec7n",
        "G\u1ea7n c\u00f4ng vi\u00ean",
        "G\u1ea7n nh\u00e0 tr\u1ebb",
        "Ti\u1ec7n kinh doanh",
        "Khu d\u00e2n tr\u00ed cao",
        "G\u1ea7n ch\u1ee3"
    ],
    "legal": []
},
......
]

这是我的代码:

    $connect = mysqli_connect('localhost','root','','loginapp');
    $file = "list2.json";
    $json = file_get_contents($file);
    $json = utf8_encode($json);
    $data = json_decode($json, true);

    foreach($data as $item) {
    $query = "INSERT INTO places(title,bedroom,ultilities,places_nearby,legal) ";
    $query .= "VALUES ('".$item['title']."', '".$item['bedroom']."', '".$item['ultilities']."', '".$item['places_nearby']."', '".$item['legal']."')";  
    $result = mysqli_query($connect, $query); 
    }

(不用担心值的含义)

错误:

    Undefined index: bedroom in C:\xampp\htdocs\Json_Db\testing.php
    Array to string conversion in C:\xampp\htdocs\Json_Db\testing.php

在这种情况下我该怎么办?

P / s:我是PHP和这些东西的完全新手,所以请对我耐心

0 个答案:

没有答案