简体   繁体   中英

mysql | Codeigniter Active Records are adding extra back ticks to query

When i try to run query in through codeigniter active records i get error as it is adding extra ``

This is the query the codeigniter is trying to execute

SELECT `T`.`id` AS TimeSheetID, DATE_FORMAT(T.date_created, `'%M')` AS MonthName FROM (`timesheet` T)

but this is the query that i actually want to execute.

SELECT `T`.`id` AS TimeSheetID, DATE_FORMAT(T.date_created, '%M') AS MonthName FROM (`timesheet` T)

how can i escape the extra colons added by the active records..

how can i write this statement to get the query work properly.

$this->db->select("
                T.id AS TimeSheetID,
                DATE_FORMAT(T.date_created,'%M') AS MonthName");

Add a second parameter FALSE in your SELECT()

So,

$this->db->select("
                T.id AS TimeSheetID,
                DATE_FORMAT(T.date_created,'%M') AS MonthName", FALSE);

$this->db->select() accepts an optional second parameter. If you set it to FALSE, CodeIgniter will not try to protect your field or table names with backticks.

Reference

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM