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个
如何解决这个问题?
答案 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;
}