如何在codeigniter活动记录中返回带有like关键字的数组

时间:2013-07-22 08:41:06

标签: php sql json codeigniter

我想用活动记录执行此查询:

SELECT * FROM tablename WHERE status = 'A' AND name LIKE 'test'

我希望它返回一个数组,因为我想稍后将其编码为json,所以我需要使用result_array();

所以我尝试过这样的事情:

$query = $this->db->select('*')->from('tablename')->where('status', 'A');
$query->like('name', 'test')->get()->result_array();
return $query;

但是当我尝试将其编码为json时,我收到了此消息:

type is unsupported, encoded as null

我该怎么办?谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

试试这个:

$data   = array();
$rs = $this->db->where('status', 'A')->like('name', 'test')->get('tablename');
if($rs->num_rows()> 0){
    $data   = $rs->result_array();
}
return $data;

答案 1 :(得分:1)

此代码结构不会出现任何错误: -

$this->db->where('status', 'A');
$this->db->like('name', 'test')
$query=$this->db->get(tablename);
$data=$query->result();
$json_data=json_encode($data);