$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)”);
有谁能帮帮我。谢谢。
发布于 2010-04-14 17:45:45
我认为您需要像这样扩展数据库活动记录库:http://codeigniter.com/wiki/Extending_Database_Drivers/
向order_by添加另一个像$escape=null这样的参数,并使用它来阻止_protect_identifiers在您的函数中运行。这将允许您以与select和where相同的方式使用未转义的order by。
发布于 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 = '';
https://stackoverflow.com/questions/2635304
复制相似问题