2017-06-20 16 views
0

我節省一個數組到數據庫,但是當我做的陣列從一開始就得到周圍的引號結束節約陣列分貝,但序列化爲

"[{"id":"1","country":"New Zealand","shipping_rate":"1"},{"id":"2","country":"Australia","shipping_rate":"2"}]" 

字符串在保存時不應在開始和結束時引用數組,但這種情況正在發生。當我在發貨字段上檢查我的模型時,我試圖修剪它,但它說它不能,因爲它說它是一個數組,所以問題是當它被保存到該字段的db時

該陣列應該看起來像這樣,當保存未引用

[{"id":"1","country":"New Zealand","shipping_rate":"1"},{"id":"2","country":"Australia","shipping_rate":"2"}] 

回答

1

您不能保存數組在mysql直接它將拋出異常,你應該把它轉換成字符串(use json_encode()),並將其保存在MySQL中任varachar /文本類型的字段。 再次從db獲取數據時,將其轉換爲數組(use json_decode())然後使用它。

0

ü必須JSON字符串轉換爲數組:

<?php 
$json_string= '[{"id":"1","country":"New Zealand","shipping_rate":"1"},{"id":"2","country":"Australia","shipping_rate":"2"}]'; 
$array = json_decode($json_string,true); 
?> 

然後進行用foreach循環和進入的foreach查詢:

<?php 
foreach($array as $data){ 
    $id = $data['id']; 
    $country = $data['country']; 
    $save= mysql_query("insert into your_database values("$id", "$country")"; 
} 
?> 

我家這幫助