2012-09-11 38 views
0

我試圖將數據從Wordpress數據庫傳輸到Codeigniter項目。我有一個返回一個值的模型的方法,但我不斷收到如下:在Codeigniter中返回數據庫結果時未定義的索引

消息:未定義指數:meta_value

文件名:型號/ transfer_model.php

這裏的模型:

public function get_meta($post_id, $key) 
    { 
     $this->db->select('meta_value'); 
     $this->db->from('wp_postmeta'); 
     $this->db->where('post_id', $post_id); 
     $this->db->where('meta_key', $key); 
     $this->db->limit(1); 

     $query = $this->db->get(); 

     $row = $query->row_array(); 

     return $row['meta_value']; 
    } 

如果我print_r($row);,我得到如下:

Array 
(
    [meta_value] => The Data 
) 

如何阻止它返回此錯誤?

+0

這很奇怪......這是你正在使用的實際代碼?錯誤是指你的退貨的同一行代碼還是其他地方? –

+0

亞這是回報相同的行 – Motive

回答

0

在有記錄的獲取你所得到的回報時,有沒有記錄獲取與查詢,則會有什麼意味着你的行空,以避免這一點key_exists或array_key_exists對PHP文檔的外觀

array_key_exists

public function get_meta($post_id, $key) 
    { 
     $this->db->select('meta_value'); 
     $this->db->from('wp_postmeta'); 
     $this->db->where('post_id', $post_id); 
     $this->db->where('meta_key', $key); 
     $this->db->limit(1); 

     $query = $this->db->get(); 

     $row = $query->row_array(); 

     $return = ''; 
     if(key_exists('meta_value',$row)) 
     $return = $row['meta_value']; 

     return $return; 
    } 
+0

問題是記錄DOES存在print_r顯示,但它仍然顯示該錯誤。 – Motive

+0

然後嘗試只是$ row = $ query-> row();並返回$ row-> meta_value – umefarooq

0

如果您使用整數索引,該怎麼辦?

$row = $query->row_array(); 
return $row[0]; 
相關問題