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 に答える