首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用CodeIgniter活动记录类按域名扩展名排序

使用CodeIgniter活动记录类按域名扩展名排序
EN

Stack Overflow用户
提问于 2010-04-14 14:31:20
回答 2查看 638关注 0票数 0
代码语言:javascript
复制
$extension = “SUBSTRING_INDEX(domain_name, ‘.’, -1)”;
$this->db->order_by($extension, “asc”); 

它显示:您的SQL语法中有一个错误;请查看与您的MySQL服务器版本相对应的手册,以获得正确的语法,以便在第44行使用‘asc LIMIT 50’附近的语法。

但是当我没有使用$ this ->db-> ORDER _by活动记录类时,它可以正常工作,比如:$this->db->查询(“SELECT* FROM domain ORDER BY SUBSTRING_INDEX(domain_name,‘.,-1)”);

有谁能帮帮我。谢谢。

EN

回答 2

Stack Overflow用户

发布于 2010-04-14 17:45:45

我认为您需要像这样扩展数据库活动记录库:http://codeigniter.com/wiki/Extending_Database_Drivers/

向order_by添加另一个像$escape=null这样的参数,并使用它来阻止_protect_identifiers在您的函数中运行。这将允许您以与select和where相同的方式使用未转义的order by。

票数 1
EN

Stack Overflow用户

发布于 2010-04-15 07:38:23

自:$extension =“SUBSTRING_INDEX(domain_name,‘.,-1)”;$this->db->order_by($extension,“asc”);

结果为: SUBSTRING_INDEX(domain_name,''-1)

我编辑: system/database/drivers/mysql/mysql_driver.php,将: var $_escape_char = '`';改为var $_escape_char = '';

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2635304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档