启用Codeigniter查询生成器

时间:2017-06-06 04:28:10

标签: php codeigniter odbc

我正在使用CodeIgniter v3.1.4,我想利用查询生成器。

据我所知,我需要做的就是在$query_builder中将config/database.php设置为TRUE,这是我所做的。但是,当我尝试使用该类时,我收到以下错误:

  

消息:调用未定义的方法CI_DB_odbc_driver :: where()

我正在使用Wiredesignz' HMVC实现,它覆盖(除其他外)Loader类,通过它传递$query_builder变量。

我有点惊讶这个功能可以通过全局变量打开/关闭,而不是直接通过db配置数据。尽管如此,我还是试图开启和关闭它而没有成功。

不确定它是否相关,但我使用的是ODBC驱动程序,我的查询如下所示:

$this->db->where('userid', $userid)->set($data);

知道我缺少什么吗?

2 个答案:

答案 0 :(得分:0)

我在尝试过渡到odbc时遇到了同样的问题。

在CI 3.1.0中,他们在他们的querybuilder上放弃了对ODBC的支持(我认为 - 这首先打败了使用QB的原因)

原因是它们的实现导致了SQL注入漏洞;但他们似乎没有计划修复它;而是完全禁用QB for odbc,锁定你。

来源:https://forum.codeigniter.com/thread-65803.html

"升级笔记":http://www.codeigniter.com/user_guide/installation/upgrade_310.html

Github问题说明修复不可靠:https://github.com/bcit-ci/CodeIgniter/pull/5197

答案 1 :(得分:0)

检查 application/config/database.php 中的以下选项:

$query_builder = TRUE;

$query_builder 应该是 true 如果你想使用 CI 的查询构建器类