如何在codeigniter中选择表?

时间:2013-01-29 09:26:25

标签: codeigniter

for($i=0; $i < count($cameras_info); $i++){
    $this->db->select('Image');
    $this->db->from('cameras');
    $this->db->where('id', $cameras_info[$i]->camera_id);
    $cameras_info[$i]->Image = isset($this->db->get()->row()->Image) ? $this->db->get()->row()->Image : NULL;
}

当我尝试执行此代码时,我收到此错误:

  

错误号码:1096
没有使用的表
SELECT *
行号:   167个

如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

问题似乎在这一行:

$cameras_info[$i]->Image = isset($this->db->get()->row()->Image) ? $this->db->get()->row()->Image : NULL;

$this->db->get()执行查询并重置活动记录类中传递的值,因此当它在问号后调用时,它不会获取任何值并引发错误。因此,请用以下内容替换此行:

$result = $this->db->get()->row()->Image;
$cameras_info[$i]->Image = isset($result->row()->Image) ? $result->row()->Image : NULL;

答案 1 :(得分:0)

假设您的代码正确

我试图重新构建它,因为我认为你的代码适合

for($i=0; $i < count($cameras_info); $i++){
    $this->db->select('Image');
    $this->db->from('cameras');
    $this->db->where('id', $cameras_info[$i]->camera_id);
    $query = $this->db->get();
    $cameras_info[$i]->Image = isset($query->row()->Image) ? $query->row()->Image : NULL;
}