我正在工作一個圖書館,需要餵食sql查詢作爲字符串todo其工作。codeigniter活動記錄,生成,但不執行查詢
我正在使用CodeIgniter及其數據庫類的活動記錄實現。
我知道我可以像這樣回顯SQL語句......但我只想生成此查詢,而不是執行它。
echo $this->db->last_query();
任何幫助完成這將是偉大的!
我正在工作一個圖書館,需要餵食sql查詢作爲字符串todo其工作。codeigniter活動記錄,生成,但不執行查詢
我正在使用CodeIgniter及其數據庫類的活動記錄實現。
我知道我可以像這樣回顯SQL語句......但我只想生成此查詢,而不是執行它。
echo $this->db->last_query();
任何幫助完成這將是偉大的!
取決於它是哪種類型的查詢。插入和更新有方法讓你做到這一點。
$this->db->set('foo', $bar);
$this->db->update_string('table'); // UPDATE table SET foo = "bar"
我只想生成select查詢。 – Peter
這應該是被接受的答案!幹得好,從來不知道這個! – NaturalBornCamper
一個小黑客,你可以做到這一點去系統/ DB_active_rec.php並刪除保護關鍵字形式_compile_select方法,現在
return $this->db->_compile_select();
還可以使用$this->db->from('table');
而不是get()
因爲GET將執行查詢 下面是一個例子
function index(){
$this->db->select('blah blah');
$this->db->from('table');
$string = $this->db->_compile_select();
return $string;
}
這是正確的答案 – Florin
由於笨3,你可以使用get_compiled_select()
要CI3之前使用它,請參閱Is there a function like _compile_select or get_compiled_select()?
怎麼樣回聲 「{$這個 - > DB-> last_query()}」; ? – rabidmachine9
我試圖得到沒有執行查詢的SQL語句... – Peter