2011-09-25 103 views
0

回波值我插入數據庫表中的值的行,現在我想用json_encode附和他們,但我有以下錯誤:問題與數據庫

PHP:

$name_tour = $this->input->post('tour_name'); 
$query  = $this->db->query("SELECT * FROM tour_foreign WHERE name LIKE '$name_tour' ORDER BY id desc"); 
$data  = array(); 
foreach ($query->result() as $row) { 
    $data_rp = json_decode($row->residence_p, true); 
    $data[] = array(
     'residence_p' => $data_rp, 
    ); 
} 
echo json_encode($data); 
echo '<p>'; 
var_dump($data); 

輸出以上PHP代碼:

[{"residence_p":null}] // This is output of json_encode($data) 

array(1) { [0]=> array(1) { ["residence_p"]=> NULL } } // This is output of var_dump($data) 

數據在數據庫:(此數據櫻雪rt by json_encode)

[{ 
    "start_date": ["1111", "2222"], 
    "end_date": ["1111", "2222"], 
    "price_change": ["1111", "2222"] 
}, { 
    "start_date": ["3333", "444"], 
    "end_date": ["3333", "4444"], 
    "price_change": ["3333", "4444"] 
}, { 
    "start_date": ["5555", "6666"], 
    "end_date": ["5555", "6666"], 
    "price_change": ["5555", "6666"] 
},] 

我該怎麼辦?

+0

什麼是錯誤?你期望看到什麼? – rid

+0

我想從數據庫中獲取數據,請參閱代碼清楚,我想要什麼。 –

回答

0

您應該在最後一個]之前刪除,,否則數據是無效的JSON,無法通過json_decode()正確解析。

0

你爲什麼這樣做?

$data_rp = json_decode($row->residence_p, true); 

您是否確實將json數據存儲在數據庫中?我懷疑它,但如果你確實做不到的話!這樣做會破壞具有包含列的數據庫的整個目的。

+0

我把數據放在數據庫裏面。 –

+1

不要這樣做!創建列'start_date','end_date'和'price_change',不要將json數據存儲在數據庫中,如果你這樣做,你會後悔的。 – Ariel