2016-01-13 72 views
0

我試圖TI插入JSON數組我的MySQL database.Here我給格式爲插入嵌套的JSON數組到數據庫

array ${ 
    "customer_id": "1", 
    "products":[ { 
     "product_id": "1", 
     "product_qty": "2" 
    }, { 
     "product_id": "2", 
     "product_qty": "4" 
    }, { 
     "product_id": "3", 
     "product_qty": "12" 
    }, { 
     "product_id": "4", 
     "product_qty": "22" 
    }], 
    "order_totalamount": "100" 
} 

我試過如下插入查詢:

foreach($data as $item) { 

      //insert into mysql table 
      $sql = "insert into `order`(cm_id,product_id,product_quantity,order_totalamount,order_id,order_date) values ($cus_id,$item[product_id],$item[product_qty],$order_totalamount,$cus_id,CURDATE())"; 

也解碼JSON數據和foreach循環

+0

什麼,當你嘗試會發生什麼?你是否收到錯誤信息?這是怎麼說的?你能詳細說明*還解碼JSON數據,並foreach循環*? –

回答

0

json_decode字符串並遍歷產品數組並逐個插入它們。

$data = json_decode($json_string); 
$customer_id = $data->customer_id; 

foreach($data->products as $product) // its a array of products you showed in json 
{ 
    // insert code here for mysql insert 
} 
0

試試下面的代碼:

$res = '{ 
"customer_id": "1", 
"products":[ { 
    "product_id": "1", 
    "product_qty": "2" 
}, { 
    "product_id": "2", 
    "product_qty": "4" 
}, { 
    "product_id": "3", 
    "product_qty": "12" 
}, { 
    "product_id": "4", 
    "product_qty": "22" 
}], 
"order_totalamount": "100" 
}'; 

$data=json_decode($res); 
foreach ($data->products as $item) 
$sql = "insert into `order`(cm_id,product_id,product_quantity,order_totalamount,order_id,order_date ) values ($data->customer_id,$item->product_id,$item->product_qty,$data->order_totalamount,$data->customer_id,CURDATE())";