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);
    $cameras_info[$i]->Image = isset($this->db->get()->row()->Image) ? $this->db->get()->row()->Image : NULL;
}

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

错误号:1096 未
使用表
SELECT *
行号:167

如何解决这个问题呢?

4

2 回答 2

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;
于 2013-01-29T11:36:45.937 回答
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;
}
于 2013-01-29T09:40:53.013 回答