Php 如何在codeigniter中为组_concat和带有replace for table列的concat编写查询

Php 如何在codeigniter中为组_concat和带有replace for table列的concat编写查询,php,mysql,codeigniter,Php,Mysql,Codeigniter,我得到的列值以逗号分隔,在单引号内,这在phpmyadmin中运行良好,并得到输出,但我想使用$this->db->query在codeigniter中编写,但由于单引号而得到一些错误 那么如何以codeigniter格式编写这个查询呢 Query in codeigniter: // Not working $this->db->query("SELECT GROUP_CONCAT( DISTINCT CONCAT("'", REPLACE(user_id, ",", "'

我得到的列值以逗号分隔,在单引号内,这在phpmyadmin中运行良好,并得到输出,但我想使用$this->db->query在codeigniter中编写,但由于单引号而得到一些错误 那么如何以codeigniter格式编写这个查询呢

Query in codeigniter:   // Not working 

$this->db->query("SELECT GROUP_CONCAT( DISTINCT CONCAT("'", REPLACE(user_id, ",", "','") , "'")) 
as listed_id FROM user_data"); //  user_id is column name

Query in phpmyadmin:   //working

GROUP_CONCAT( DISTINCT CONCAT("'", REPLACE(user_id, ",", "','") , "'"))

您的查询字符串无效,因为可以将其识别为字符串:

"SELECT GROUP_CONCAT( DISTINCT CONCAT("
其余的都没有意义:

'", REPLACE(user_id, ",", "','") , "'")) as listed_id FROM user_data"
当引号位于同一类型的引号内时,应将其转义:

$this->db->query("SELECT GROUP_CONCAT( DISTINCT CONCAT(\"'\", REPLACE(user_id,
\",\", \"','\") , \"'\")) as listed_id FROM user_data");