0

2つのクエリを実行する必要がある関数があります。最初のクエリは正常に実行されます。2つ目は、同じテーブルにない前のクエリの列が含まれているためではありません。
最初のクエリ:

function1($id) {
    $sql = "SELECT id FROM table1 WHERE id2 = $id";

    return($this->db->query($sql));
}

2番目のクエリ:

function2() {
    $this->db->select('id2');
    $this->db->from('table2');
    $this->db->where('col1', '1');
    $this->db->limit($random_number, 1);

    return($this->db->get());
}

呼び出し元の関数:

function() {
    $rs1 = function($id)->result_array(); // runs ok.
    $rs2 = function2()->result_array();   // error.
}

エラーメッセージ:

A Database Error Occurred

Error Number: 1054

Unknown column 'id' in 'field list'

SELECT `id`, `id2` FROM (`table2`) WHERE `col1` = '1' LIMIT 1, 30

idは2番目のクエリにも含まれていませんが、結果には含まれています。この問題を解決するにはどうすればよいですか?ありがとうございました。

4

1 に答える 1

0

実行してみてください:

$this->db->flush_cache()$this->db->select('id2')

于 2012-07-05T22:52:30.973 に答える