php - not - update codeigniter example
Consulta de eco antes de la ejecuciĆ³n y sin ejecuciĆ³n en Codeigniter Active Record (4)
Estoy buscando una forma de ver la cadena generada de la consulta pero sin ejecutarla.
Tenga en cuenta que la consulta no se ha ejecutado antes. (No quiero $this->db->last_query();
)
Espero que haya un método con un nombre como $this->db->echo_query_string($table_name = '''');
para usar exactamente como $this->db->get($table_name = '''');
PERO LA ÚNICA DIFERENCIA ES QUE get()
ejecuta el código, pero echo_query_string()
simplemente hace eco de la cadena de consulta sin ejecución .
Agregué este pequeño método en DB_active_rec.php
function return_query()
{
return $this->_compile_select();
}
Uso
$this->db->select(''id,user_name'')->from(''user'')->where(''id'',1);
$string = $this->db->return_query();
echo $string;
Resultado
SELECT `id`, `user_name` FROM (`user`) WHERE `id` = 1
De esta manera, está obligado a usar
$this->db->from()
En lugar de
$this->db->get()
Que ejecuta la consulta
No necesita cambiar ningún archivo en codeigniter porque ya proporciona un método para hacerlo.
Utilizando
echo $this->db->last_query();
Producirá
select * from some_table...
Y esto es todo.
Puede ver la consulta compilada por cualquiera de estas funciones
/* SELECT */ $this->db->_compile_select();
/* INSERT */ $this->db->_insert();
/* UPDATE */ $this->db->_update();