2014-02-04 6 views
0

Я хотел бы объединить две колонки в одну колонку, как 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 для правильного синтаксиса использовать вблизи «FROM (customer) WHERE user_id =„1“в строке 2

Я также попытался с concat_ws group_concat, но не смог заставить его работать , Может ли кто-нибудь увидеть, что я делаю неправильно?

+3

Вы могли бы отправить инструкцию SQL? Трудно угадать точный синтаксис из этого кода ... –

ответ

3

По умолчанию CI пытается избежать того, что вы передаете db->select() (в случае, если вы проходили сгенерированные пользователем значения). Вы можете отключить эту функцию, передав false в качестве второго аргумента.

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

Спасибо, что сэр ... работал как шарм ... –

0

Я прошел через это раньше с CI, в моем случае CI был ошибочно создания запроса, например, положить simgle кавычки, где они не должны быть.

Мой совет создайте запрос самостоятельно и запустите его, вы можете быть удивлены: P

Смежные вопросы