27
クエリの実行は、次のcodeigniterアクティブレコード文のget_where()
節で行われますか?
$this->db->select('*');
$q = $this->db->get_where('Contacts', array('id' => $contact_id));
$sql = $this->db->last_query();
それともresult_array()
を呼び出す一度それが起こるのでしょうか?
$this->db->last_query();
は、クエリ文字列を取得する信頼できる方法です。すべての
$this->db->get('table_name');
$this->db->get_where('table_name',$array);
のようなメソッドを取得するにlast_queryはあなたが行う必要があります実行せずに、クエリ文字列を取得したい場合は
$this->db->last_query();
を最後に実行されたクエリが含まれていますが
ようこそ!彼らは新しいバージョンのCIにこれらの2つのメソッド(および挿入、更新、削除など)を追加して、ハッキングする必要はありません。 –
@raheelshanこれはちょうど私の人生を救った。あなたがなぜこの機能を保護されたのかについての情報はありますか? http://stackoverflow.com/questions/9232316/is-there-a-function-like-compile-select-or-get-compiled-select – motto
「_」でプライベートアクセスを意味するメソッドを呼び出さないでください(外からではない)。これは解決策ではなく、後の更新で問題になる(メソッドに実際のアクセスレベルを追加したとき)。 – Roland