将列组合成一列mysql

时间:2014-02-04 19:30:57

标签: php mysql codeigniter concat

我想将一列中的两列组合为Fullname,为此我编写了以下代码:

    $this->db->select('CONCAT(first_name," ",last_name) AS FullName');
    $this->db->from('customer');
    $this->db->where('user_id',1);
    $query = $this->db->get();
    return $query->result_array();

结果查询将是:

SELECT CONCAT(first_name," ",last_name) AS FullName 
FROM customer 
WHERE user_id = 1

但是当我执行上面的代码时,它给了我:

  

您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第2行的“FROM(customer)WHERE user_id ='1'附近使用正确的语法

我也试过了concat_ws group_concat,但却无法让它发挥作用。谁能看到我做错了什么?

2 个答案:

答案 0 :(得分:3)

默认情况下,CI会尝试转义传递给db->select()的内容(如果您传入的是用户生成的值)。您可以通过将false作为第二个参数传递来禁用此功能。

$this->db->select('CONCAT(first_name," ",last_name) AS FullName', false);

答案 1 :(得分:0)

我之前使用过CI,在我的情况下,CI错误地创建了查询,例如将simgle引号放在它们不应该的位置。

我的建议是自己创建并运行它,你可能会感到惊讶:P