如何使用foreach在数据库中插入json数组?

时间:2018-11-01 06:24:50

标签: php

我正在从android端发送此jsonArray,需要将其插入数据库中。

我有以下 JSONArray:

[{
"pid":"28",
"prod_brand_name":"IPCA",
"prod_cat_name":"Zerodol P",
"prod_comp_name":"Zedfit Tablet",
"prod_mrp":"100",
"prod_name":"Collaflex",
"prod_quantity":"2",
"prod_size":"11",
"prod_total":"200",
"prod_unit":"90",
"ref_pid":"24"
},
}]

我无法使用foreach来获取此数组值,然后编写插入查询。 在此先感谢!

3 个答案:

答案 0 :(得分:1)

像这样使用json_decode函数:

 $json= '[{
    "pid":"28",
    "prod_brand_name":"IPCA",
    "prod_cat_name":"Zerodol P",
    "prod_comp_name":"Zedfit Tablet",
    "prod_mrp":"100",
    "prod_name":"Collaflex",
    "prod_quantity":"2",
    "prod_size":"11",
    "prod_total":"200",
    "prod_unit":"90",
    "ref_pid":"24"
    }]';

$array= json_decode($json);

print_r($array);

现在您已经使用json_decode了数组!

答案 1 :(得分:0)

$json= '[{
 "pid":"28",
 "prod_brand_name":"IPCA",
 "prod_cat_name":"Zerodol P",
 "prod_comp_name":"Zedfit Tablet",
 "prod_mrp":"100",
 "prod_name":"Collaflex",
 "prod_quantity":"2",
 "prod_size":"11",
 "prod_total":"200",
 "prod_unit":"90",
 "ref_pid":"24"
 }]';

$array= json_decode($json, true);

如果将TRUE传递给json_decode函数,则返回的对象将转换为关联数组。默认情况下,此功能将其设置为FALSE。

echo "<pre>";
print_r($array);

答案 2 :(得分:0)

有一些假设: 一个 table 及其列名称完全匹配json键 一次仅一个json数组,即一行 并且,一个SQL数据库。 我用php mysqli编写了一个示例

希望有帮助

<?php

$arr = json_decode(JSONArray, true);

// the insert command and table columns 
$query = "INSERT INTO table (" ;
$query .= implode(", ", array_keys($arr)) . ") " ;

// the insert value
$query .= " VALUES ('" ;
$query .= implode("','" , $arr) . "')" ;

//run the query
$con=mysqli_connect("localhost","my_user","my_password","my_db");
mysqli_query($con, $query);

?>