Devo eseguire questa query
codice:
SELECT c.id AS id,c.nome AS nome, c.categoria AS catid, c.attiva AS attiva, t.nome AS categoria
FROM categorie c, tipo_categoria t 
WHERE t.id = c.categoria 
ORDER BY ? ?
LIMIT ?,?
In cui i caratteri jolly ? sono rimpiazzati ad esempio da (in ordine): nome, ASC, 0, 5

Il problema è che CodeIgniter, sostituendo i ? fa l'escape dei valori quindi risulta

ORDER BY 'nome' 'ASC'
LIMIT 0,5

e l'output della query mi viene fuori come se avessi scritto ORDER BY id ASC, penso che gli apici diano fastidio alla query.
Se la stessa query (senza gli apici di escape) la scrivo a mano su phpmyadmin funziona correttamente, come potrei risolvere?

Ho già provato con Active Record (che uso ovunque per le altre query), ma per questa non mi riesce.
Ecco come ho provato ad usarlo
Codice PHP:
$this->db->select('c.id AS id, c.nome AS nome, c.categoria AS catid, c.attiva AS attiva, t.nome AS categoria');
$this->db->from('categorie c, tipo_categoria t');
$this->db->where('t.id','c.categoria');
$this->db->order_by($order_by,$sort);
$this->db->limit($offset,$per_page);
        
$result $this->db->get(); 
Non da errori, ma non genera neanche alcun risultato.