0

我正在尝试将数据从 Wordpress 数据库传输到 Codeigniter 项目。我有一个返回单个值的模型方法,但我不断得到以下信息:

消息:未定义的索引:meta_value

文件名:models/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
)

如何阻止它返回此错误?

4

2 回答 2

0

在获取记录的地方,当没有通过查询获取记录时,您将获得回报,那么没有任何东西意味着您的行是空的,以避免这种使用 key_exists 或 array_key_exists 查看 php doc

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;
    }
于 2012-09-11T18:54:57.557 回答
0

如果使用整数索引会怎样?

$row = $query->row_array();
return $row[0];
于 2012-09-11T21:54:31.003 回答