Echo query before execution and without execution in codeigniter Active Record

You can see the compiled query by either of these functions

/* SELECT */ $this->db->_compile_select();
/* INSERT */ $this->db->_insert();
/* UPDATE */ $this->db->_update();

You don't need to change any file in codeigniter because it already provides a method to do that.

Using

echo $this->db->last_query();

will produce

select * from some_table...

And this is it.


I added this little method in DB_active_rec.php

function return_query()
{
    return $this->_compile_select();
}

Usage

$this->db->select('id,user_name')->from('user')->where('id',1);

$string =   $this->db->return_query();
echo $string;

Result

SELECT `id`, `user_name` FROM (`user`) WHERE `id` = 1

In this way you are bound to use

$this->db->from()

Instead of

$this->db->get()

Which runs the query