我想将一列中的两列组合为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
)WHEREuser_id
='1'附近使用正确的语法
我也试过了concat_ws group_concat
,但却无法让它发挥作用。谁能看到我做错了什么?
答案 0 :(得分:3)
默认情况下,CI会尝试转义传递给db->select()
的内容(如果您传入的是用户生成的值)。您可以通过将false
作为第二个参数传递来禁用此功能。
$this->db->select('CONCAT(first_name," ",last_name) AS FullName', false);
答案 1 :(得分:0)
我之前使用过CI,在我的情况下,CI错误地创建了查询,例如将simgle引号放在它们不应该的位置。
我的建议是自己创建并运行它,你可能会感到惊讶:P