codigniter 限制函数不适用于 $this->db->query($sql)

Moh*_*ngh 1 codeigniter

    $sql = "SELECT * FROM $this->table_name WHERE FIND_IN_SET('$subCatString', moto_type_id)";

    if($limit>0)
    {
        $this->db->limit($limit, $offset);
    }

    return $this->db->query($sql)->result_array();  
Run Code Online (Sandbox Code Playgroud)

codigniter 限制函数不适用于 $this->db->query($sql)

Jan*_*n.J 6

是的,这行不通。->query()只需执行传递给它的 sql 查询。

如果你想使用->limit()这样做:

$this->db
    ->from($this->table_name)
    ->where("FIND_IN_SET('".$subCatString."', moto_type_id)", NULL, FALSE);

if($limit>0)
{
    $this->db->limit($limit, $offset);
}

return $this->db->get()->result_array();
Run Code Online (Sandbox Code Playgroud)

记住清理/转义 $subCatString,因为它不会被 CI 转义。